Back to legacygamers.net
WARPGATE

STL

STL templates: vector, map, set, list, deque, unordered_map, rb-tree, sort, regex, std::function, thunks

Functions 2,062 to 4,139 of 17,187Code 968 KBAddresses 0x006C3D80 to 0x00B8BB80Group Library
2,078 functions
AddressSizeNameDescription
0x006C3D80147STL_umap_destroy_node_with_dtor_ADestroys a single 0x38-byte umap node: calls virtual dtor on embedded object at offset+0x34, then frees the node.
0x006C3E20147STL_umap_destroy_node_with_dtor_BDestroys a single 0x38-byte umap node: calls virtual dtor on embedded object at offset+0x34, then frees the node.
0x006C3EC0105STL_umap_release_embedded_object_AReleases embedded object at offset+0x2c by calling its virtual destructor (vtable+0x10), then nulls the pointer.
0x006C3F30105STL_umap_release_embedded_object_BReleases embedded object at offset+0x2c by calling its virtual destructor (vtable+0x10), then nulls the pointer.
0x006C3FA0103STL_umap_clear_AClears all elements from unordered_map A. If count < buckets/8, uses erase_range with dtor; otherwise destroys all nodes, resets sentinel, zeroes count, and fills bucket array.
0x006C4010103STL_umap_clear_BClears all elements from unordered_map B. If count < buckets/8, uses erase_range with dtor; otherwise destroys all nodes, resets sentinel, zeroes count, and fills bucket array.
0x006C64A022STL_umap_iterator_ctor_AConstructs unordered_map iterator A: sets vtable pointer and copies node pointer from this+4.
0x006C64C022STL_umap_iterator_ctor_BConstructs unordered_map iterator B: sets vtable pointer and copies node pointer from this+4.
0x006C64E016STL_umap_iterator_base_ctor_ABase constructor for unordered_map iterator A: sets vtable pointer only.
0x006C64F016STL_umap_iterator_base_ctor_BBase constructor for unordered_map iterator B: sets vtable pointer only.
0x006C650068STL_umap_conditional_free_AConditionally frees 8-byte allocation if boolean param is true. Used in umap iterator/node cleanup.
0x006C655068STL_umap_conditional_free_BConditionally frees 8-byte allocation if boolean param is true. Used in umap iterator/node cleanup.
0x006C65A068STL_umap_conditional_free_CConditionally frees 8-byte allocation if boolean param is true. Used in umap iterator/node cleanup.
0x006C65F068STL_umap_conditional_free_DConditionally frees 8-byte allocation if boolean param is true. Used in umap iterator/node cleanup.
0x006C664044STL_umap_invoke_virtual_methodDispatches a virtual method call through vtable at this+4, passing 5 parameters from the provided pointers.
0x006C66A0639STL_umap_rehash_4byte_with_reallocSTL unordered_map rehash with bucket vector reallocation using FNV-1a on 4-byte key
0x006C6920639STL_umap_rehash_4byte_with_realloc_2STL unordered_map rehash with bucket vector reallocation using FNV-1a on 4-byte key
0x006C6BE022STL_umap_iterator_ctor_CConstructs unordered_map iterator C: sets vtable pointer and copies node pointer from this+4.
0x006C6C0022STL_umap_iterator_ctor_DConstructs unordered_map iterator D: sets vtable pointer and copies node pointer from this+4.
0x006C6C2016STL_umap_iterator_base_ctor_CBase constructor for unordered_map iterator C: sets vtable pointer only.
0x006C6C3016STL_umap_iterator_base_ctor_DBase constructor for unordered_map iterator D: sets vtable pointer only.
0x006C6C40341STL_function_swapSTL std::function::swap implementation. Swaps callable objects between two std::function instances using vtable-based move semantics with temporary storage.
0x006C6DA0341STL_function_swap_2STL std::function::swap implementation (second instantiation). Identical to STL_function_swap but for a different template specialization.
0x006C6F40601STL_umap_erase_range_56byte_with_dtorSTL unordered_map erase range: iterates bucket chain using FNV-1a hash, calls vtable dtor at node offset 0xd, frees 0x38-byte nodes, decrements element count.
0x006CA30075_Find_lower_bound<>STL tree lower_bound helper. Binary search for the first element not less than a key.
0x006CA35075_Find_lower_bound<>STL tree lower_bound helper. Binary search for the first element not less than a key.
0x006CAFE083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x006CB04083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x006CCCE0704STL_rbtree_extract_nodeRed-black tree node extraction with rebalancing; handles all rotation and color fixup cases
0x006CCFB0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006CD1C0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006CD3D0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006CD5E0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006CD7F084STL_rbtree_rotate_left_006cd7f0Red-black tree left rotation: rotates node with its right child, updates parent links
0x006CD85088STL_rbtree_rotate_right_006cd850Red-black tree right rotation: rotates node with its left child, updates parent links
0x006CF3F0517STL_tree_insert_node_006cf3f0STL std::_Tree_val::_Insert_node - inserts node into RB-tree with rebalancing (VS2019 library, string-keyed tree variant used by ItemDisplayTree)
0x006D0CE0517STL_tree_insert_node_006d0ce0STL std::_Tree_val::_Insert_node - inserts node into RB-tree with rebalancing (VS2019 library, string-keyed tree variant used by CPrivateAirplaneMgr)
0x006D2510517STL_tree_insert_node_006d2510STL std::_Tree_val::_Insert_node - inserts a new node into RB-tree, performs red-black rebalancing (rotations + recoloring). Used by CItemDB for nested item trees.
0x006D2720517STL_tree_insert_node_006d2720STL std::_Tree_val::_Insert_node - inserts a new node into RB-tree, performs red-black rebalancing (rotations + recoloring). Second instance used by CPaidItemMgr trees.
0x006D3F9029STL_vector_move_backwardCopies memory range to higher address for vector element insertion
0x006D4320489STL_vector_insert_rangeInserts range of bytes into vector at position, reallocates with 1.5x growth if needed
0x006D45B034STL_vector_copy_forwardCopies memory range forward to destination, returns end pointer
0x006D5060129STL_vector_free_alignedFrees aligned vector buffer, handles alignment offset for allocations over 0xFFF
0x006D98E0162STL_vector_reserve_dwordReserves capacity in dword vector with aligned allocation if needed
0x006D9990517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006D9BA0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006D9DB0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006D9FC0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006DA1D0129STL_vector_free_dword_bufferFrees the underlying buffer of a dword vector with aligned deallocation and resets all 3 pointers to zero
0x006DA42034STL_uninitialized_copy_range_ACopies memory range [param_1, param_2) to param_3, returns end of destination. STL uninitialized_copy variant A.
0x006DA45034STL_uninitialized_copy_range_BCopies memory range [param_1, param_2) to param_3, returns end of destination. STL uninitialized_copy variant B.
0x006DA48037_Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_>Value-initializes n elements in uninitialized memory by zeroing the range.
0x006DA4B037_Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_>Value-initializes n elements in uninitialized memory by zeroing the range.
0x006DA4E028_Zero_range<>Fills a memory range with zeros using memset.
0x006DA50028_Zero_range<>Fills a memory range with zeros using memset.
0x006DA520334STL_istream_getline_delimReads from istream into string until delimiter byte, sets stream state on EOF/error
0x006DA6B034STL_uninitialized_copy_range_CCopies memory range [param_1, param_2) to param_3, returns end of destination. STL uninitialized_copy variant C.
0x006DA6E034STL_uninitialized_copy_range_DCopies memory range [param_1, param_2) to param_3, returns end of destination. STL uninitialized_copy variant D.
0x006DB3E010STL_throw_deque_too_long_AThrows std::length_error with message "deque<T> too long". Called when deque exceeds max size, variant A.
0x006DB3F010STL_throw_deque_too_long_BThrows std::length_error with message "deque<T> too long". Called when deque exceeds max size, variant B.
0x006DC9F039STL_string_truncateTruncates std::string to given length by setting size and null terminator
0x006E13A083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x006E1C80517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006E267062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x006E26B058STL_deallocate_32byte_elementsSTL allocator deallocate for 32-byte elements. Handles large allocations with debug header.
0x006E2F405operator++Stl: operator++, small utility function
0x006E44E022std__ostream_set_fill_charSets the fill character on an ostream by writing a byte to the ios_base fill field at vbase+0x40
0x006E4500432std__ostream_put_charostream::put - writes a single character to the output stream with proper width padding (left/right justified). Uses sentry for thread safety, handles fill character padding.
0x006E46E013std__ios_base__set_state_byteSets a single byte value on an ios_base object (simple byte assignment)
0x006E46F0161STL_string_ctor_fillConstructs an std::string filled with N copies of a character. Handles SSO (small string optimization) for strings under 16 chars, heap-allocates for longer strings.
0x006E4DD026std__ios_base__setf_hexSets the hex format flag (0x800) on ios_base fmtflags at offset 0x14, clearing dec (0x200) and oct (0x400) flags via mask 0xF9FF \| 0x800.
0x006E4DF025STL_string_append_self_substrAppends a substring from an std::string's own buffer (handles SSO). Uses internal pointer if size > 15, otherwise reads from inline buffer.
0x006E585044STL_string_resize_shrinkResizes/truncates an std::string (at this+0x10) by subtracting a length value. If new size is smaller, truncates in place; otherwise appends null chars to extend.
0x006E588044STL_string_resize_shrink_altResizes/truncates an std::string (at this+0x28) by subtracting a length value. Same logic as STL_string_resize_shrink but for a different member offset.
0x006E58B012std__ios_base__setf_internalSets the ios_base::internal flag (bit 0x4) on the format flags at offset 0x14, used for padding alignment
0x006F7150517STL_tree_insert_node_006f7150Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x006F8310429STL_vector_push_back_ptrSTL vector push_back for pointer-sized elements. Grows capacity by 1.5x when full, copies existing elements to new allocation, inserts new element at specified position
0x006F84E0427STL_vector_insert_range_12byteSTL vector insert for 12-byte element arrays. Grows capacity by 1.5x, uses element-wise copy via zero_init helper and copy helper functions. Element size is 0xC bytes (3 DWORDs)
0x006F9E7010STL_throw_vector_too_long_006f9e70Throws std::_Xlength_error("vector too long") - STL vector overflow handler
0x006F9E8061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x006FB96062STL_allocator_deallocate_006fb960std::allocator::deallocate, frees memory via operator delete. For allocations > 0xFFF bytes, adjusts pointer by reading stored offset at ptr[-4] and adds 0x23 alignment padding to size.
0x006FE10034STL_copy_range_to_bufferCopies memory range [param1..param2) into destination buffer, returns end pointer
0x006FE130452STL_vector_insert_single_4byte_006fe130std::vector insert with reallocation using 1.5x growth, copies element at insertion point
0x006FE9D010STL_throw_vector_too_long_006fe9d0Throws std::length_error with "vector too long" message
0x006FE9E062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007009B083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x00701160517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x00707310452STL_vector_insert_single_4byte_00707310std::vector insert with 1.5x growth reallocation, copies single element at insertion point
0x00707D2010STL_throw_vector_too_long_00707d20Throws std::length_error with "vector too long" message
0x00707D3062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007163E0517STL_tree_insert_node_007163e0STL _Tree_val::_Insert_node, inserts a new node into a red-black tree with rebalancing (rotations and recoloring). Used by std::map/set containers.
0x007165F0517STL_tree_insert_node_007165f0STL _Tree_val::_Insert_node, inserts a new node into a red-black tree with rebalancing (rotations and recoloring). Used by std::map/set containers.
0x00718F4034memcpy_and_return_endCopies memory range [param_1, param_2) to param_3, returns pointer past end of destination
0x00718F70179STL_int_to_stringConverts signed integer to STL string, handles negative sign prefix
0x0071B63090STL_vector__Change_array_0071b630Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer.
0x0071B6A0197STL_vector_reallocate_4byteReallocates 4-byte element vector to new capacity, copies existing data, frees old buffer
0x0071B790129STL_vector_dealloc_4byteFrees 4-byte element vector buffer and zeroes all three pointers (begin/end/capacity)
0x0071B82092STL_vector_alloc_4byteAllocates aligned buffer for N 4-byte elements, uses 32-byte alignment for buffers over 0x1000
0x0072973083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x00729EC0517STL_tree_insert_node_00729ec0Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x007311C034STL_uninitialized_copy_rangeCopies a contiguous range of elements from [src_begin, src_end) to dest using memcpy. Returns pointer past the last copied element in dest. Used by STL containers during reallocation.
0x007311F0452STL_vector_insert_single_4byte_reallocateSTL vector insert with reallocation for 4-byte elements. Grows capacity by 1.5x, copies existing elements, inserts new element at the specified position, frees old buffer.
0x007314A0129STL_vector_dealloc_4byte_0x7314a0Deallocates a vector of 4-byte elements. Frees the buffer with aligned deallocation if needed, then zeros the 3 vector fields (begin, end, capacity).
0x00731A4010STL_throw_vector_too_long_0x731a40Throws std::length_error("vector too long"). Called when vector capacity would exceed max size.
0x00731A5062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x00734720517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x00735320517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x007355A075_Find_lower_bound<>STL tree lower_bound helper. Binary search for the first element not less than a key.
0x007358C083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x00735FC0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x0073629034memcpy_range_0x736290Copies memory range [param_1, param_2) to param_3. Returns end pointer of destination.
0x007362C037_Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_>Value-initializes n elements in uninitialized memory by zeroing the range.
0x007362F028_Zero_range<>Fills a memory range with zeros using memset.
0x0073631034memcpy_range_0x736310Copies memory range [param_1, param_2) to param_3. Returns end pointer of destination.
0x007369A010STL_throw_deque_too_long_0x7369a0Throws std::length_error("deque<T> too long").
0x00736C60125STL_vector_dealloc_4byte_0x736c60Deallocates a vector of 4-byte elements with aligned free. Zeros the 3 vector fields.
0x007378B0129STL_vector_dealloc_16byteDeallocates a vector of 16-byte elements. Aligned free if needed, then zeros the 3 vector fields.
0x007380D034memcpy_range_0x7380d0Copies memory range [param_1, param_2) to param_3. Returns end pointer.
0x00738DC010STL_throw_vector_too_long_0x738dc0Throws std::length_error("vector too long").
0x00738DD061STL_allocator_deallocate_12byteSTL allocator::deallocate for 12-byte elements. Handles aligned/unaligned memory: for allocations >4095 bytes, retrieves original allocation pointer from (ptr-4) and validates alignment before freeing.
0x00739680603std__vector_ItemEntry__emplaceSTL vector emplace/insert for 0x1C-byte ItemEntry structs. Handles capacity growth (1.5x growth factor), element relocation with move semantics, and old buffer cleanup. Max capacity 0x9249249 elements.
0x00739960191std__move_ItemEntry_rangeMoves a range of 0x1C-byte ItemEntry structs from [param_1, param_2) to param_3. Uses move semantics for embedded strings (resets source string to empty). Returns pointer past last written element.
0x00739A20132std__move_construct_ItemEntryMove-constructs a single 0x1C-byte ItemEntry from param_3 into param_2. Copies 4 DWORDs + string data with move semantics, then resets source string to empty state.
0x00739EB090std__vector_ItemEntry__destroy_elementsIterates through a vector of 0x1C-byte ItemEntry elements from [begin, end), calling STL string destructor on each element's embedded string.
0x00739F60206std__vector_ItemEntry__clear_and_freeDestroys all elements in ItemEntry vector (calling string dtors for each 0x1C-byte element), frees the buffer, and resets begin/end/capacity pointers to 0.
0x0073FDF092std__destroy_ItemEntry_rangeDestroys a range of 0x1C-byte ItemEntry structs from [param_1, param_2), calling STL string destructor on each element.
0x0073FE5010std__throw_vector_too_longThrows std::length_error with "vector too long" message. Does not return.
0x0073FE6067std__free_ItemEntry_bufferFrees a buffer of 0x1C-byte ItemEntry elements. For large allocations (>0xFFF bytes), retrieves the original allocation pointer from [ptr-4] before freeing.
0x0073FEB049std__string_find_in_stringSearches for param_2 string within param_1 string starting at position param_3. Uses std::_Traits_find internally. Handles SSO (small string optimization) by checking capacity > 0xF.
0x0073FEF0169std__vector_ItemEntry__push_backPush_back for vector of 0x1C-byte ItemEntry. If capacity available, move-constructs element at end and increments size. Otherwise calls emplace to grow the vector.
0x0073FFA027std__vector_ItemEntry__sizeReturns the number of elements in the ItemEntry vector: (end - begin) / 0x1C.
0x007425C0228std__vector_int__grow_and_fillGrows a vector of 4-byte (int/pointer) elements to the requested capacity. Allocates new buffer, zero-fills new elements, copies existing data, then replaces the old buffer.
0x007426D028_Zero_range<>Fills a memory range with zeros using memset.
0x0074529034memcpy_range_0x745290Copies memory range [param_1, param_2) to param_3. Returns end pointer.
0x007452C034memcpy_range_0x7452c0Copies memory range [param_1, param_2) to param_3. Returns end pointer.
0x007452F034memcpy_range_0x7452f0Copies memory range [param_1, param_2) to param_3. Returns end pointer.
0x00745320105destroy_range_44byte_entriesDestroys a range of 0x44-byte entries by iterating from param_1 to param_2 and calling destructor/cleanup on each.
0x007453D0380std__vector_int__reallocate_and_fillReallocates a vector of 4-byte (int/pointer) elements. Computes new capacity (1.5x growth or requested size), allocates new buffer, fills new elements with param_3 value, copies existing data, then frees old buffer. Handles aligned allocation for buffers over 0xFFF bytes.
0x00745570528std__vector_0xC__reallocate_and_constructReallocates a vector of 0xC-byte entries. Computes new capacity (1.5x growth or requested size, max 0x15555555), allocates new buffer, constructs new entries, moves existing entries, destroys old entries (which contain nested 0x44-byte vectors), then frees old buffer.
0x00745790465std__vector_0xC__reallocate_and_zero_fillReallocates a vector of 0xC-byte entries with zero-fill for new elements. Computes new capacity (1.5x growth or requested size, max 0x15555555), allocates new buffer, zero-fills new entries via memset, copies existing data with memcpy, then frees old buffer.
0x00745970520std__vector_reallocate_0x44Reallocates a std::vector of 0x44-byte elements. Grows capacity (1.5x or to requested size), copies existing elements to new buffer, destroys old elements, and frees old buffer. Standard MSVC vector reallocation pattern.
0x00745B80468std__vector_reallocate_0x24Reallocates a std::vector of 0x24-byte elements. Grows capacity, memcpy's existing POD elements to new buffer, frees old buffer. Used for skill detail entries.
0x00745D60530std__vector_reallocate_0x18Reallocates a std::vector of 0x18-byte elements. Grows capacity, moves existing elements with move semantics (destroys old via destructor loop), frees old buffer. Used for skill name/prerequisite entries.
0x007462C090destroy_range_12byte_entriesDestroys a range of 0xC-byte entries by iterating from begin to end and calling cleanup on each.
0x0074634091std__vector_destroy_elements_18Destroys elements in a std::vector with element size 0x18. Iterates from begin to end, calling a destructor-like function on each 0x18-byte element.
0x007463A0129std__vector_deallocate_4byteDeallocates a std::vector buffer with 4-byte elements. Handles debug allocator alignment (checks for pre-buffer header when size > 0xFFF).
0x00746430196std__vector_destroy_and_dealloc_0xCDestroys each 0xC-byte element (calls FUN_007465a0 destructor) then deallocates the std::vector buffer.
0x00746500150std__vector_deallocate_0xCDeallocates a std::vector buffer with 0xC-byte elements (no element destructors called, just raw deallocation).
0x007465A0170std__vector_destroy_and_dealloc_0x44Destroys each 0x44-byte element in a std::vector (calls destroy_range_44byte_entries) then deallocates the buffer.
0x00746650151std__vector_deallocate_0x24Deallocates a std::vector buffer with 0x24-byte elements (no element destructors, just raw deallocation).
0x007466F0198std__vector_destroy_and_dealloc_0x18Destroys each 0x18-byte element in a std::vector (calls destructor on each) then deallocates the buffer.
0x00746920185std__stringstream__dtor_completeComplete destructor for std::stringstream. Destroys the stringbuf (frees allocated buffer if owned), then destroys basic_streambuf and basic_istream base classes.
0x007469E0131std__stringbuf__dtorDestructor for std::stringbuf. Sets vtable, frees the string buffer if owned (mode flag bit 0 set with bit 3 clear), clears mode/size, then destroys the base basic_streambuf.
0x00746B20194std__stringstream__dtor_with_iosComplete destructor for std::stringstream variant with basic_ios cleanup. Destroys stringbuf, streambuf, istream, and basic_ios in order.
0x00746C50152std__stringbuf__scalar_deleting_dtorScalar deleting destructor for std::stringbuf. Destroys buffer, streambuf, then optionally frees the 0x50-byte object.
0x00746E40143std__vector_resize_0x44Resizes a std::vector of 0x44-byte elements. If shrinking, destroys excess elements via destroy_range. If growing within capacity, fills new entries. If growing beyond capacity, calls std__vector_reallocate_0x44 to reallocate.
0x00747270246std__vector_get_0x44_elementReturns a 0x44-byte element at index param_2 from a std::vector. Falls back to first element if out of bounds but non-empty, or returns static default CSkillTreeNode if empty.
0x0074755092destroy_range_0xC_entriesDestroys a range of 0xC-byte entries by iterating from param_1 to param_2, calling the 0x44-entry destructor on each.
0x007475B022std__vector_destroy_range_0x44_wrapperThin wrapper that forwards to destroy_range_44byte_entries with this pointer.
0x007475D093destroy_range_0x18_entriesDestroys a range of 0x18-byte entries by iterating from param_1 to param_2, calling a destructor on each element.
0x0074763035std__stringbuf__free_bufferFrees a stringbuf's internal buffer. If a custom deallocator is set at offset +0x4C, uses it; otherwise calls standard free().
0x007476C0138std__vector_fill_intFills a range of int elements with a value. Optimized with 4x unrolling for counts > 3. If the fill value is 0, uses memset instead. Returns pointer past the last filled element.
0x00747750143std__vector_construct_0xC_entriesDefault-constructs param_2 entries of 0xC bytes each (zeroing all fields). Used for growing std::vector of 0xC-byte elements.
0x007477E049std__vector_zero_fill_0xCZero-fills param_2 entries of 0xC bytes each using memset. Returns pointer past the last filled element.
0x00747820188std__vector_construct_0x44_entriesDefault-constructs param_3 entries of 0x44 bytes each. Zeroes entire struct with memset, then explicitly zeroes the sub-vectors at offsets +0x20 and +0x34. Calls destroy_range at the end for exception safety.
0x007478E049std__vector_zero_fill_0x24Zero-fills param_2 entries of 0x24 bytes each using memset. Returns pointer past the last filled element.
0x00747920150std__vector_construct_0x18_defaultDefault-constructs param_2 entries of 0x18 bytes (6 DWORDs). Sets first two fields to -1 (0xFFFFFFFF), third to 4, and last three to 0.
0x007479C0161std__vector_move_0xC_entriesMove-constructs 0xC-byte (3 DWORD) entries from source range [param_1, param_2) to destination param_3. Zeroes source entries after moving.
0x00747A70145std__vector_copy_construct_0x44Copy-constructs 0x44-byte entries from source range [param_2, param_3) to destination param_4 by calling UISkillWnd__OnSkillCooldown for each. Calls destroy_range on destination for exception safety.
0x00747B10179std__move_elements_24byte_nothrowMoves a range of 24-byte (0x18) elements from [param_1, param_2) to param_3 using nothrow move (copies 6 DWORDs, zeroes source pointers at offsets 3-5).
0x00747BD0159std__move_elements_24byte_with_stringMoves 24-byte elements with embedded STL string from [param_1, param_2) to param_3. Uses string move semantics (resets source string to SSO empty state with capacity=0xF).
0x00747C7010std__throw_vector_too_long_2Throws std::length_error "vector too long". Does not return.
0x00747C8010std__throw_vector_too_long_3Throws std::length_error "vector too long". Does not return.
0x00747C9010std__throw_vector_too_long_4Throws std::length_error "vector too long". Does not return.
0x00747CA010std__throw_vector_too_long_5Throws std::length_error "vector too long". Does not return.
0x00747CB010std__throw_vector_too_long_6Throws std::length_error "vector too long". Does not return.
0x00747CC010std__throw_vector_too_long_7Throws std::length_error "vector too long". Does not return.
0x00747CD062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x00747D1061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x00747D5061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x00747D9064std__free_vector_buffer_0x44Frees a vector buffer of 0x44-byte elements. Handles aligned allocations (>0xFFF bytes) by retrieving original pointer from [ptr-4].
0x00747DE061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x00747E2061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x00748020103std__vector_uint__resizeResizes a vector of 4-byte (uint) elements. If shrinking, adjusts end pointer. If growing within capacity, memsets new elements to 0. If growing beyond capacity, calls std__vector_int__grow_and_fill to reallocate.
0x00748090167std__vector_24byte__resizeResizes a vector of 0x18-byte elements. If shrinking, destroys excess elements (string dtors). If growing within capacity, calls init_empty_entries. If beyond capacity, reallocates.
0x007488D0395std__vector_AttrCell__reallocateReallocates a vector of 0x14-byte attribute cells. Uses 1.5x growth factor, max capacity 0xCCCCCCC elements. Copies old data via FUN_00749500, frees old buffer.
0x0074950045memcpy_AttrCell_rangeCopies a range of 0x14-byte attribute cells from [param_1, param_2) to offset param_3 - param_1 relative to source. Copies 5 DWORDs per element.
0x0074953010std__throw_vector_too_long_8Throws std::length_error "vector too long". Does not return.
0x0074954061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x00749E50436std__string_append_rangeAppends a range of characters [param_2, param_3) to an STL string one byte at a time. Handles SSO (small string optimization) and dynamic growth (1.5x factor, max 0x7FFFFFFF capacity). Manages aligned allocation for large strings.
0x0074A010439std__vector_8byte__emplaceEmplace/insert for vector of 8-byte elements (e.g., sprite frame entries). Handles capacity growth (1.5x), element relocation, old buffer cleanup. Max 0x1FFFFFFF elements.
0x0074A40066std__basic_streambuf_char__destructorDestructor wrapper for std::basic_streambuf<char>. Calls the base class destructor with SEH frame setup.
0x0074A45091std__basic_streambuf_char__scalar_deleting_destructorScalar deleting destructor for std::basic_streambuf<char>. Calls base destructor and optionally frees memory if param_2 bit 0 is set.
0x0074C98010vector_xlength_errorThrows std::length_error with message "vector too long". Called when vector exceeds max_size.
0x0074C99062STL_aligned_deallocate_8byteDeallocates memory that was allocated with SIMD alignment.
0x0074DD40276vector_dword__insert_growInserts a dword element into a vector at position param_2, growing the buffer as needed. Uses 1.5x growth factor. Allocates new buffer via FUN_0074efa0, copies existing elements, inserts new element from param_3, then swaps via FID_conflict__Change_array. Throws length error at 0x3FFFFFFF max capacity.
0x0074DE80329vector_36byte__insert_growInserts a 36-byte (0x24) element into a vector at position param_2, growing as needed. Uses 1.5x growth factor, max 0x71C71C7 elements. Copies 9 dwords from param_3 for the new element. Allocates via FUN_0074f000, copies via FUN_0074ef10/FUN_0074ef50.
0x0074DFF0388vector_dword__resizeResizes a dword vector to param_2 elements. Allocates new buffer (aligned to 0x20 for buffers >= 0x1000), copies existing data, zeros new elements. Frees old buffer. Updates begin/end/capacity pointers. Max 0x3FFFFFFF elements.
0x0074E1A028_Zero_range<>Fills a memory range with zeros using memset.
0x0074E2F0151vector_36byte__clear_and_freeClears and frees a vector of 36-byte (0x24) elements. Frees the buffer (aligned deallocation for large buffers >= 0x1000), zeros begin/end/capacity pointers.
0x0074EC7090STL_vector__Change_array_0074ec70Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer.
0x0074ECD0118STL_vector__Change_array_0074ecd0Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer.
0x0074ED60197std__vector_reallocate_dwordReallocates a std::vector<DWORD> to a new capacity. Allocates new buffer, copies existing data, frees old buffer. Handles aligned allocation for buffers > 0xFFF bytes.
0x0074EE50142STL_vector__Reallocate_exactly_0074ee50Reallocates a vector buffer to exact size, copies existing elements, and frees old buffer.
0x0074EF1052std__vector_copy_0x24_entriesSTL template instantiation: std vector copy 0x24 entries
0x0074EF5054std__vector_move_0x24_entriesMoves a range of 0x24-byte (9 DWORD) elements from [param_1, param_2) to offset param_3 from each source element.
0x0074EF9010thunk_to_std__Xlength_errorThunk that calls std::_Xlength_error with vector_too_long message
0x0074EFA092std__vector_allocate_dwordAllocates memory for param_1 DWORD elements. For small allocations (< 0x1000 bytes), uses direct allocation. For larger ones, adds 0x23 bytes for alignment header. Max count: 0x3FFFFFFF.
0x0074F00095std__vector_allocate_0x24Allocates memory for param_1 elements of 0x24 bytes each. Same aligned allocation strategy as std__vector_allocate_dword. Max count: 0x71C71C7.
0x0074F06061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0074F930116destroy_range_0x24_skill_entriesDestroys a range of 0x24-byte skill tree entries. Each entry has 3 sub-vectors that need destruction. Iterates from param_1 to param_2, calling vector destructors on each.
0x0074F9B0437std__vector_insert_grow_0x24Inserts a 0x24-byte element into a vector, growing it when at capacity. Uses 1.5x growth strategy. Allocates new buffer, copy-constructs the new element, relocates existing elements, frees old buffer.
0x0074FB90551std__vector_insert_grow_0xC_skillInserts a 0xC-byte element into a skill entry vector, growing when at capacity. Uses 1.5x growth strategy with max 0x15555555 elements. Moves existing elements to new buffer.
0x0074FDC0137std__vector_relocate_0x24_entriesRelocates 0x24-byte entries from [param_1, param_2) to starting at param_3 via move construction. Cleans up with destroy_range at the end for exception safety.
0x0074FE50162std__vector_move_0xC_skill_entriesMove-constructs 0xC-byte (3 DWORD) skill entries from source range to destination. Zeroes source entries after moving.
0x0074FF80290std__vector_copy_0x24_skill_vectorDeep-copies a vector of 0x24-byte CSkillTreeEntry elements from param_2 to param_1. Allocates buffer, then copy-constructs each entry's 3 sub-vectors.
0x007502A0174std__vector_destroy_and_dealloc_0xC_skillDestroys and deallocates a vector of 0xC-byte skill entries. Calls destructor on each element, then frees the buffer. Handles aligned deallocation.
0x0075077036destroy_range_0xC_skill_entriesDestroy range 0xc skill entries
0x007507A0166std__vector_destroy_and_dealloc_0x24Destroys and deallocates a vector of 0x24-byte skill tree entries. Calls destroy_range on all entries, then frees the buffer with aligned deallocation.
0x0075085010thunk_to_std__Xlength_error_00750850Forwards to std::_Xlength_error with vector_too_long message
0x0075086010thunk_to_std__Xlength_error_00750860Thunk that calls std::_Xlength_error with vector_too_long message
0x0075087095std__vector_allocate_0x24_bAllocates memory for param_1 elements of 0x24 bytes each. Same aligned allocation strategy. Max count: 0x71C71C7.
0x007508D061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0075091061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x00756210151std__free_vector_0x14_aFrees a vector buffer of 0x14-byte elements. Resets begin/end/capacity to 0.
0x007562B0151std__free_vector_0x14_bFrees a vector buffer of 0x14-byte elements. Resets begin/end/capacity to 0.
0x00756350129std__free_vector_0x10Frees a vector buffer of 0x10-byte elements. Resets begin/end/capacity to 0.
0x007563E0151std__free_vector_0x14_cFrees a vector buffer of 0x14-byte elements. Resets begin/end/capacity to 0.
0x00756B6065std__free_vector_0x10_wrapperWrapper that frees a vector of 0x10-byte elements.
0x00756BB065std__free_vector_0x14_wrapper_bWrapper that frees a vector of 0x14-byte elements by calling std__free_vector_0x14_b.
0x00756C0065std__free_vector_0x14_wrapper_cWrapper that frees a vector of 0x14-byte elements by calling std__free_vector_0x14_c.
0x00756C5065std__free_vector_0x14_wrapper_aWrapper that frees a vector of 0x14-byte elements by calling std__free_vector_0x14_a.
0x00756CA065std__free_vector_0x14_wrapper_dWrapper that frees a vector of 0x14-byte elements by calling std__free_vector_0x14_b.
0x00756CF099std__map_destroy_and_free_sentinelDestroys an STL map by clearing all subtree nodes via STL_map_destroy_subtree, then freeing the 0x20-byte sentinel node.
0x0075D060517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x0075D270517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x0075D480129STL_vector_8byte_free_rsmFrees an STL vector with 8-byte elements. Deallocates the buffer, zeroes all three vector pointers (begin, end, capacity).
0x0075D51095STL_list_alloc_node_0xc_aAllocates memory for an STL list node of 0xc bytes. Handles aligned allocation for sizes >= 0x1000. Throws bad_array_new_length if count exceeds 0x15555555.
0x0075D57095STL_list_alloc_node_0xc_bAllocates memory for an STL list node of 0xc bytes. Identical to STL_list_alloc_node_0xc_a - likely separate instantiation for a different list type.
0x0075D5D095STL_list_alloc_node_0xc_cAllocates memory for an STL list node of 0xc bytes. Another instantiation of the same template allocator for a different list type.
0x0075D630102STL_list_alloc_node_0x1cAllocates memory for an STL list node of 0x1c bytes. Handles aligned allocation for sizes >= 0x1000. Throws bad_array_new_length if count exceeds 0x924924a.
0x00760C30264vector_byte__insert_growInserts a single byte into a byte vector at position param_2, growing buffer as needed. Uses 1.5x growth factor. Max capacity 0x7FFFFFFF. Allocates via STL_lib_func_004fa0b0, copies existing data, inserts new byte from param_3.
0x00760D60452vector_dword__insert_grow_alignedInserts a dword element into a vector at position param_2, growing buffer with aligned allocation (0x20 alignment for buffers >= 0x1000). Uses 1.5x growth factor, max 0x3FFFFFFF elements. Copies existing elements around insertion point.
0x0076138010STL_vector_throw_length_errorThrows std::length_error("vector too long") and does not return
0x0076139062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0076375029STL_relocate_range_backwardCopies memory range [src, end) to destination computed as offset from end
0x0076377034STL_copy_range_to_dest_aCopies memory range [src, end) to dest, returns pointer past copied data
0x007637A034STL_copy_range_to_dest_bCopies memory range [src, end) to dest, returns pointer past copied data
0x007637D0423STL_vector_pair8__emplace_reallocateReallocates vector of 8-byte pairs, inserts new element at position, grows by 1.5x
0x007639A0568STL_vector_20byte__emplace_reallocateReallocates vector of 0x14-byte elements, inserts new element at position, grows by 1.5x
0x00763BE0452STL_vector_int__emplace_reallocate_aReallocates vector of 4-byte elements, inserts new element at position, grows by 1.5x
0x00763DB0452STL_vector_int__emplace_reallocate_bReallocates vector of 4-byte elements, inserts new element at position, grows by 1.5x
0x00763F80103STL_map__destroy_nodes_recursive_aRecursively destroys std::map nodes (0x1C bytes each), traverses left subtree then right
0x00763FF0131STL_map__destroy_nodes_recursive_bRecursively destroys std::map nodes (0x20 bytes), clears vector data before freeing
0x00764080131STL_map__destroy_nodes_recursive_cRecursively destroys std::map nodes (0x20 bytes), calls cleanup function before freeing
0x0076413075STL_map__lower_bound_aBinary search in std::map for lower_bound of integer key, returns iterator
0x0076418075STL_map__lower_bound_bBinary search in std::map for lower_bound of integer key, returns iterator
0x007641D075STL_map__lower_bound_cBinary search in std::map for lower_bound of integer key, returns iterator
0x00764550174heap_sift_down_insertSifts down in heap then bubbles up to insert element, compares field+4 as key
0x00764600222STL_vector_int__resize_with_fillResizes int vector to given size, fills new elements with value, grows by 1.5x
0x00764FA067STL_map__free_node_1cFrees a single std::map node of size 0x1C if non-null
0x00764FF067STL_map__free_node_20_aFrees a single std::map node of size 0x20 if non-null
0x0076504067STL_map__free_node_20_bFrees a single std::map node of size 0x20 if non-null
0x00765090111STL_map__clear_and_free_1cClears std::map with 0x1C-byte nodes, recursively frees all then frees sentinel
0x0076511076STL_map__clear_and_free_20_aClears std::map with 0x20-byte nodes, recursively frees all then frees sentinel
0x0076517076STL_map__clear_and_free_20_bClears std::map with 0x20-byte nodes, recursively frees all then frees sentinel
0x007651D078STL_map__free_node_1c_bFrees a single std::map node of size 0x1C if non-null
0x00765220116STL_map__free_node_20_with_vector_cleanupFrees map node (0x20 bytes), clears contained vector pair data before freeing
0x007652A0116STL_map__free_node_20_with_rune_cleanupFrees map node (0x20 bytes), clears contained rune data before freeing
0x0076532078STL_map__free_node_1c_cFrees a single std::map node of size 0x1C if non-null
0x0076537078STL_map__free_node_20_cFrees a single std::map node of size 0x20 if non-null
0x007653C078STL_map__free_node_20_dFrees a single std::map node of size 0x20 if non-null
0x0076544065STL_map__clear_and_free_1c_bClears std::map with 0x1C-byte nodes, wrapper around recursive free
0x0076549087STL_map__clear_and_free_20_cClears std::map with 0x20-byte nodes, recursively frees all then frees sentinel
0x007654F087STL_map__clear_and_free_20_dClears std::map with 0x20-byte nodes, recursively frees all then frees sentinel
0x0076555068STL_vector_pair__clear_wrapper_aWrapper that clears and frees vector pair data
0x007655A068STL_vector_20byte__clear_wrapperWrapper that clears and frees vector of 20-byte elements
0x007655F0129STL_vector__dealloc_bufferFrees vector internal buffer and resets begin/end/capacity pointers to zero
0x00765680129STL_vector_int__dealloc_bufferFrees int vector internal buffer and resets pointers to zero
0x00765710176STL_vector_20byte__destroy_and_freeDestroys vector of 0x14-byte objects via virtual dtors, then frees buffer
0x00768AC0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x00768CD0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x00768EE0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x007690F082fill_int_array_with_valueFills array of int pointers with specified value for given count
0x0076915010STL_vector_throw_length_error_bThrows std::length_error for vector overflow
0x0076916010STL_vector_throw_length_error_cThrows std::length_error for vector overflow
0x0076917010STL_vector_throw_length_error_dThrows std::length_error for vector overflow
0x0076918062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007691C062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0076920061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0076BF00564vector_20byte__insert_growInserts a 20-byte (0x14) element into a vector, growing buffer as needed. Uses 1.5x growth factor, max 0xCCCCCCC elements. Aligned allocation for large buffers. Calls FUN_0076c140 to copy-construct the new element. Destroys old elements via their vtable before freeing old buffer.
0x0076C1A0152vector_byte__copy_constructCopy-constructs a byte vector from param_2 into param_1. Initializes begin/end/capacity to 0, allocates buffer matching source size via stub_005f66f0, then memcpy copies the data.
0x0076C320176vector_20byte__destroy_and_freeDestroys and frees a vector of 20-byte (0x14) elements. Calls each element's virtual destructor (via vtable[0] with param=0), then frees the buffer (aligned deallocation for large buffers). Zeros begin/end/capacity.
0x0076E22010thunk_to_std__Xlength_error_0076e220Wrapper calling std::_Xlength_error for vector_too_long exception
0x0076E23061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0076F5E0131std__tree_destroy_nodes_1cRecursively destroys all nodes in a std::_Tree with 0x1C-byte nodes. For each non-nil node, recurses on the right child, then destroys the contained 0x4C virtual object, frees the node, and continues with the left child (iterative tail).
0x0076F670123std__tree_destroy_nodes_20Recursively destroys all nodes in a std::_Tree with 0x20-byte nodes. For each non-nil node, recurses on the right child, resets vtable, frees the 0x20-byte node, and continues with the left child (iterative tail).
0x0076F6F099_Find_last<>STL hash map helper. Finds the last node in a bucket chain for insertion.
0x0076F76075std__tree_lower_bound_ARed-black tree lower_bound. Binary searches for the first node with key >= target.
0x0076F7B075std__tree_lower_bound_BRed-black tree lower_bound. Binary searches for the first node with key >= target.
0x0076F80075std__tree_lower_bound_CRed-black tree lower_bound. Binary searches for the first node with key >= target.
0x0076F850533std__unordered_map_emplacestd::unordered_map emplace operation. Uses FNV-1a hash (0x811c9dc5, 0x1000193). Inserts a new element if not found, handles rehashing when load factor exceeded. Returns iterator and bool.
0x0076FA7097fill<>STL fill algorithm. Sets all elements in a range to a specified value.
0x0076FAE099std__unordered_map_findstd::unordered_map::find. Computes FNV-1a hash of the 4-byte key, calls _Find_last to locate the bucket entry. Returns iterator to found element or end() if not found.
0x0076FB5031std__fill_range_4byteSTL template instantiation: std fill range 4byte
0x0076FEE067std__unique_ptr_free_10Unique pointer deleter. Frees the managed object at the stored offset.
0x0076FF3067std__unique_ptr_free_4cUnique pointer deleter. Frees the managed object at the stored offset.
0x0076FF8067std__unique_ptr_free_1cUnique pointer deleter. Frees the managed object at the stored offset.
0x0076FFD067std__unique_ptr_free_20Unique pointer deleter. Frees the managed object at the stored offset.
0x0077002067std__unique_ptr_free_18Unique pointer deleter. Frees the managed object at the stored offset.
0x00770070131std__unordered_map_destroy_and_freeDestructor for std::unordered_map. First frees the bucket vector, then walks the linked list of 0x10-byte nodes freeing each, and finally frees the sentinel node.
0x00770100125std__vector_free_bufferFrees the internal buffer of a std::vector. Handles large allocations (>0xFFF bytes) by reading the original allocation pointer at [-4]. Zeros out the begin/end/capacity pointers after freeing.
0x0077019078std__unique_ptr_free_10_bUnique pointer deleter. Frees the managed object at the stored offset.
0x007701E0106std__linked_list_dtor_virtual_4cDestructor for a container holding a 0x4C-byte polymorphic object. Calls virtual destructor at vtable[0] then frees the 0x4C-byte allocation via operator delete.
0x0077025076std__tree_clear_1cClears a std::_Tree with 0x1C-byte nodes. Calls std__tree_destroy_nodes_1c on the root, then frees the 0x1C-byte sentinel/header node.
0x007702B076std__tree_clear_20Clears a std::_Tree with 0x20-byte nodes. Calls std__tree_destroy_nodes_20 on the root, then frees the 0x20-byte sentinel/header node.
0x00770310116std__tree_node_destroy_1cDestroys a single std::_Tree node (0x1C bytes). If the node contains data at offset +4, calls the virtual destructor of the contained 0x4C object, then frees the 0x1C-byte node allocation.
0x00770390111std__tree_node_destroy_20Destroys a 0x20-byte tree node. Sets the vtable pointer at node+0x14 before freeing. SEH protected.
0x0077040078std__unique_ptr_free_18_bFrees the 0x18-byte allocation at this+4 if non-null. SEH protected unique_ptr-style cleanup.
0x0077045078std__unique_ptr_free_1c_bFrees the 0x1c-byte allocation at this+4 if non-null. SEH protected unique_ptr-style cleanup.
0x007704A078std__unique_ptr_free_20_bFrees the 0x20-byte allocation at this+4 if non-null. SEH protected unique_ptr-style cleanup.
0x007704F078std__unique_ptr_free_18_cFrees the 0x18-byte allocation at this+4 if non-null. SEH protected unique_ptr-style cleanup.
0x00770540103std__linked_list_free_nodes_10Walks a singly-linked list from the sentinel node, freeing each 0x10-byte node, then frees the sentinel itself.
0x007705B0115std__linked_list_destroy_virtual_4cWalks a linked list from sentinel, calls virtual destructor at node[2] for each 0x4c-byte node, then frees the sentinel. Used for skill entry lists with polymorphic nodes.
0x0077063087std__tree_clear_1c_bRecursively destroys all 0x1c-byte tree nodes via std__tree_destroy_nodes_1c, then frees the sentinel node.
0x0077069087std__tree_clear_20_bRecursively destroys all 0x20-byte tree nodes via std__tree_destroy_nodes_20, then frees the sentinel node.
0x007706F065std__map_destroy_wrapperSEH-protected wrapper that calls STL_map_destroy to destroy a std::map container.
0x0077074068std__linked_list_destroy_virtual_wrapperSEH-protected wrapper that calls std__linked_list_destroy_virtual_4c to destroy a linked list with virtual destructors on each 0x4c-byte node.
0x007707E065std__unordered_map_destroy_wrapperSEH-protected wrapper that calls std__unordered_map_destroy_and_free to destroy an unordered_map container.
0x00770940190std__unordered_map_clearClears all entries from an unordered_map. If element count is small relative to bucket count, uses erase_range. Otherwise walks the node list directly, freeing 0x10-byte nodes and resetting bucket pointers.
0x00770C2083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x00770C8083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x00770CE083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x00772130235std__vector_resize_fillResizes a std::vector<DWORD> to param_2 elements, filling with param_3. If new size <= current, fills existing range. Otherwise allocates new buffer, copies data, frees old, and fills all elements with param_3.
0x00772220704std__tree_extract_and_rebalance_ARed-black tree node extraction and rebalancing (variant A for 0x20-byte nodes). Standard RB-tree delete fixup with rotations and color changes. Decrements node count.
0x007724E0704std__tree_extract_and_rebalance_BRed-black tree node extraction and rebalancing (variant B for 0x18-byte nodes). Standard RB-tree delete fixup with rotations and color changes. Decrements node count.
0x007727A0426std__unordered_map_rehashRehashes an unordered_map to a new bucket count. Rounds up to next power of 2, reallocates bucket array, and redistributes all elements using FNV-1a hash on 4-byte keys.
0x00772950517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x00772B60517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x00772D70517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x00772F8084std__tree_rotate_left_AStandard red-black tree left rotation (variant A). Rotates param_2 node left, updating parent/child pointers and root if needed.
0x00772FE084std__tree_rotate_left_BStandard red-black tree left rotation (variant B). Identical to variant A but used by a different tree instance.
0x0077304088std__tree_rotate_right_AStandard red-black tree right rotation (variant A). Rotates param_2 node right, updating parent/child pointers and root if needed.
0x007730A088std__tree_rotate_right_BStandard red-black tree right rotation (variant B). Identical to variant A but used by a different tree instance.
0x00773100478std__unordered_map_erase_rangeErases a range of elements from an unordered_map. Iterates from param_2 to param_3, deleting 0x10-byte nodes, rehashing bucket pointers, and decrementing element count. Uses FNV-1a hash on 4-byte keys.
0x0077A450154std__function__move_ctor_Astd::function move constructor. Moves callable target from param_2 to param_1. If target is small-buffer-optimized (stored inline), uses vtable clone; otherwise moves pointer directly.
0x0077A4F0154std__function__move_ctor_Bstd::function move constructor variant B. Same logic as move_ctor_A for a different template instantiation.
0x0077A590154std__function__move_ctor_Cstd::function move constructor variant C. Same logic as move_ctor_A for a different template instantiation.
0x0077A63014std__function__is_empty_AReturns true if the std::function is empty (internal pointer is null).
0x0077A64014std__function__is_empty_BReturns true if the std::function is empty (internal pointer is null). Variant B.
0x0077A65014std__function__is_empty_CReturns true if the std::function is empty (internal pointer is null). Variant C.
0x0077A66075std__map__lower_bound_Astd::map lower_bound implementation. Walks red-black tree searching for key, returns iterator pointing to first element >= key.
0x0077A6B075std__map__lower_bound_Bstd::map lower_bound implementation variant B. Same tree walk for different template instantiation.
0x0077A70075std__map__lower_bound_Cstd::map lower_bound implementation variant C. Same tree walk for different template instantiation.
0x0077C680517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x0077C890517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x0077CAA0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x007862D0211std__random_shuffle_with_rngFisher-Yates shuffle using a custom RNG (handler_0061d2c0). Shuffles an array of 4-byte elements in-place with rejection sampling to avoid modulo bias.
0x007863B0146std__random_shuffle_simpleFisher-Yates shuffle using MT19937 global RNG. Shuffles an array of 4-byte elements in-place with rejection sampling to avoid modulo bias. Simpler version without custom RNG parameter.
0x00786500871std__mt19937_shuffle_vectorFills a vector with [0..param_2) then shuffles it using MT19937 (seeded from std::random_device). Fisher-Yates shuffle with rejection sampling. Stack-allocated MT state (0x9C0 bytes).
0x00796EA075std__vector_string_dtor_4elementsDestructor helper for an array of 4 std::string objects (element size 0x18). Uses _eh_vector_destructor_iterator_ with STL_string_dtor to clean up each element.
0x00796EF0871std__fisher_yates_shuffle_vectorFisher-Yates shuffle on a std::vector<int>. First fills the vector with 0..param_2-1, then initializes a Mersenne Twister (MT19937) PRNG with std::_Random_device() seed, and performs in-place shuffle by swapping elements. Returns the shuffled vector.
0x007A71D0150std__map_int__destroy_nodes_recursiveRecursively destroys all nodes in a std::map red-black tree. Walks left children, destroys node content (calling CFmt func), frees 0x2C-byte node, continues to right children.
0x007A727075std__map_int__lower_boundstd::map lower_bound operation. Traverses the red-black tree comparing keys at node offset +0x10, returns iterator to first element not less than the search key.
0x007A72C0132std__map_int__ctorstd::map<int,...> constructor. Sets vtable, initializes size to 0, allocates 0x2C-byte sentinel/header node as self-referencing root with color flags 0x101.
0x007A735067std__map_int__free_head_nodeFrees the 0x2C-byte head/sentinel node of a std::map red-black tree (at this+4).
0x007A73A076std__map_int__dtorDestructor for std::map<int,...>. Recursively destroys all tree nodes, then frees the 0x2C-byte sentinel node.
0x007A7400132std__map_int__destroy_single_nodeDestroys a single std::map node: sets vtable to node dtor, calls CFmt vector cleanup, then frees the 0x2C-byte node.
0x007A749078std__map_int__free_node_onlyFrees only the 0x2C-byte memory of a std::map node (at this+4) without destroying its contents.
0x007A74E087std__map_int__clearClears all nodes from std::map<int,...>. Recursively destroys tree nodes and frees the sentinel. Note: does not reinitialize the tree (unlike typical clear).
0x007A754089std__map_int_node__dtorDestructor for a std::map<int,...> node. Sets vtable pointer and calls CFmt vector of structs destructor for contained data.
0x007A75A0108std__map_int_container__dtorDestructor for std::map<int,...> container wrapper. Sets vtable, destroys all tree nodes recursively, and frees sentinel.
0x007A761074std__map_int_node__set_vtable_and_cleanupSets the vtable to the node destructor vtable and calls CFmt vector cleanup. Used during node teardown.
0x007A7660276std__map_int__find_or_insertstd::map<int,...> operator[]. Performs lower_bound search, inserts new 0x2C-byte node with the key if not found. Returns pointer to value at node+0x14.
0x007A7780133std__map_int_container__scalar_deleting_dtorScalar deleting destructor for std::map<int,...> container. Destroys tree nodes, frees sentinel, optionally frees 0x10-byte container.
0x007A781099std__map_int_node__scalar_deleting_dtorScalar deleting destructor for std::map<int,...> node. Calls CFmt vector cleanup and optionally frees 0x18-byte node memory.
0x007A7880123std__map_int__insert_string_entryInserts a string entry into std::map<int,...>. Calls find_or_insert, then appends a 24-byte struct (with string copy) to the node's vector.
0x007A790046std__map_int__set_two_valuesSets two values in a std::map<int,...> node. Calls find_or_insert twice for the same key, writing param2 at value+4 and param3 at value+8.
0x007A7EA0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x007A86F099_Find_last<>STL hash map helper. Finds the last node in a bucket chain for insertion.
0x007A880050std__any_cast_intstd::any_cast<int>. Compares type_info to int type, returns stored value or throws bad_any_cast.
0x007A8840109std__any_cast_int_ptrstd::any_cast<int> for pointer variant. Returns pointer to stored int if type matches, 0 if null or type mismatch.
0x007A88C0431std__unordered_set_string__emplacestd::unordered_set<string>::emplace. Allocates node, constructs strings, computes FNV-1a hash, inserts into hash table. Rehashes if load factor exceeded.
0x007A8A70480std__unordered_map__emplace_effect_dataEmplaces an effect callback data entry into unordered_map. Handles hash computation, rehashing on load factor exceeded, and bucket linking.
0x007A8C6097fill<>STL fill algorithm. Sets all elements in a range to a specified value.
0x007A8CD0369std__unordered_set_string__insertInserts a string into unordered_set. Computes FNV-1a hash, checks for duplicates, allocates node via CEffectCallbackEntry__ctor_move. Rehashes if needed.
0x007A8E5031std__fill_rangeSTL template instantiation: std fill range
0x007A8F30125std__any__copy_ctorstd::any copy constructor. Handles 3 storage modes: mode 0 = raw copy, mode 1 = clone via vtable, mode 2 = clone via vtable into buffer.
0x007A9030109std__bad_any_cast__ctorConstructs std::bad_any_cast exception (inherits from std::bad_cast). Sets message to "bad_cast" and establishes CLuaScriptError-compatible vtable chain.
0x007A9160125STL_vector_free_and_clearFrees STL vector backing memory and zeroes the begin/end/capacity pointers. Handles large allocation header check.
0x007A942078std__exception__dtorstd::exception destructor. Resets vtable and destroys the exception string message.
0x007AA6A0235STL_vector_assign_fillAssigns N copies of a value to an STL vector (4-byte elements). If N <= current size, fills existing buffer via fill<>. If N > current size, allocates new buffer, frees old (without copying), and fills entire new buffer with the value. Does NOT preserve existing elements when growing.
0x007AAA40362STL_unordered_map_rehashRehashes unordered_map buckets, redistributes nodes into new power-of-2 bucket array
0x007AABD095STL_unordered_map_insert_node_007aabd0Inserts a node into unordered_map bucket, updates head/tail pointers and increments size
0x007AAC3022STL_any_construct_small_vtable_AInitializes std::any with small-object vtable pointer A and copies value
0x007AAC5022STL_any_construct_small_vtable_BInitializes std::any with small-object vtable pointer B and copies value
0x007AAC70167STL_any_move_constructMove-constructs std::any, handles small/large/function-pointer storage types
0x007AB860423std__vector_string__assign_rangeAssigns a range of std::string elements [param_2, param_3) to a std::vector<std::string>. Handles reallocation with 1.5x growth factor. Element size is 0x18 bytes. Copies/moves existing elements, destroys extras, or reallocates as needed.
0x007ABA90454std__vector_28__emplace_reallocReallocating emplace/insert for a std::vector with 0x1C-byte elements. Grows capacity by 1.5x, copies the new element (28 bytes including 8-byte field), moves existing elements around insertion point, and frees old buffer.
0x007AE190148std__vector_28__reserveReserve/reallocate for a std::vector with 0x1C-byte elements. Uses 1.5x growth factor. Frees old buffer, allocates new one, and updates begin/end/capacity pointers. Throws vector_too_long if requested size >= 0x924924A.
0x007AE230517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x007AE440159std__vector_28__clear_and_freeClears and frees a std::vector with 0x1C-byte elements. Frees the buffer if non-null (handles aligned allocation > 0xFFF), then zeroes begin/end/capacity pointers.
0x007AE4F064memcpy_28byte_rangeCopies a range of 0x1C-byte elements via memcpy. Returns destination pointer advanced by the number of complete 0x1C-byte elements copied.
0x007AE53010std__vector_throw_length_errorThrows std::length_error with message "vector too long". Does not return.
0x007AE540102std__vector_28__allocate_bufferAllocates buffer for std::vector with 0x1C-byte elements. For allocations >= 0x1000 bytes, uses aligned allocation (32-byte alignment with header pointer). Throws bad_array_new_length if count >= 0x924924A.
0x007AE5B067std__vector_28__free_bufferFrees buffer for std::vector with 0x1C-byte elements. Handles aligned deallocation for large buffers (>= 0x1000 bytes) by reading stored original pointer at offset -4.
0x007AFA30141std__string__append_cstrAppends a C-string to an std::string. Computes strlen, checks for overflow (>0x7FFFFFFF), then delegates to STL_string_init_from_two_buffers.
0x007AFB5096std__list_small__ctorConstructs a small std::list by zeroing the count/head fields and allocating a 0xC-byte sentinel node with self-referencing next/prev pointers.
0x007AFC0067std__list_small__free_headFrees the head node (0xC bytes) of a small std::list if non-null, within SEH frame.
0x007AFC5067std__list_14byte__free_headFrees the head node (0x14 bytes) of a 14-byte element std::list if non-null, within SEH frame.
0x007AFCA078std__list_small__free_head_safeSafely frees the head node (0xC bytes) of a small std::list. Same as free_head but with different SEH unwind index.
0x007AFCF078std__list_14byte__free_head_safeSafely frees the head node (0x14 bytes) of a 14-byte element std::list. Same as free_head but with different SEH unwind index.
0x007AFD40103std__list_small__clear_and_free_allClears and frees all nodes of a small std::list (0xC-byte nodes). Zeroes the tail pointer, walks the forward chain freeing each node, then frees the sentinel.
0x007AFDB0103std__list_14byte__clear_and_free_allClears and frees all nodes of a 14-byte element std::list (0x14-byte nodes). Zeroes the tail pointer, walks the forward chain freeing each node, then frees the sentinel.
0x007B09E034memcpy_range_actCopies a memory range [param_1, param_2) to param_3. Returns pointer past the last byte written.
0x007B0AB0452STL_vector_4byte_insert_realloc_actSTL vector insert with reallocation for 4-byte elements in act resource code. Grows by 1.5x, copies existing data around the insertion point, frees old buffer.
0x007B0C80546std__vector_84byte__insert_with_growSTL vector insert with reallocation for 0x84-byte CActFrame elements. Grows capacity by 1.5x, move-constructs new element, copies existing data around insertion point, destroys old buffer.
0x007B2A80129STL_vector_4byte_free_actFrees an STL vector of 4-byte elements used in act resource code. Deallocates the buffer and zeroes all three vector pointers.
0x007B3060279std__map_int__find_or_insert_34bytestd::map<int, T> find-or-insert for 0x34-byte value type. Searches the red-black tree by integer key. If not found, allocates a new 0x34-byte node, calls CActFrame__Constructor to initialize the value, and inserts into the tree. Returns pointer to the value portion of the node.
0x007B3180290std__map_int__find_or_insert_stringstd::map<int, std::string> find-or-insert. Searches the red-black tree by integer key. If not found, allocates a new 0x2c-byte node with int key + empty SSO string value, and inserts into the tree. Returns pointer to the value portion of the node.
0x007B9DE0517STL_tree_insert_node_007b9de0STL std::_Tree_val::_Insert_node - inserts a new node into a red-black tree and rebalances. Handles left/right insertion, updates min/max pointers, and performs rotations to maintain RB-tree invariants. MSVC 2019 library function.
0x007B9FF010std__vector_xlength_error_1Throws std::_Xlength_error("vector too long") - vector capacity exceeded.
0x007BA00010std__vector_xlength_error_2Throws std::_Xlength_error("vector too long") - vector capacity exceeded (duplicate).
0x007BA01062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007BA05059free_achievement_entry_bufferFrees a heap buffer used for achievement entries. Buffer size is param_2 * 0x84 (132 bytes per entry). Handles aligned allocation cleanup.
0x007BA2D090std__vector_destroy_string_elementsDestroys all std::string elements in a vector. Iterates from begin to end, calling STL_string_dtor on each element (0x1C stride per element).
0x007BAA40206std__vector_clear_and_free_1cClears and frees a vector of 0x1C-byte elements. Destroys string elements first, then frees the backing buffer with aligned deallocation.
0x007BAB10300std__vector_copy_4c_elementsCopy constructor for a vector of 0x4C-byte elements. Allocates new buffer and copies elements using helper_005ca5b0.
0x007C3590517std__Tree_val__Insert_nodestd::_Tree_val::_Insert_node - Inserts a node into a red-black tree (std::set/map), performs rebalancing rotations and color fixes. Library function (VS2019).
0x007C3BC034STL_vector_copy_rangeCopies memory range [param_1, param_2) to param_3 destination; returns end of copied region
0x007C3BF0337STL_vector_insert_ptr_0x3bf0std::vector insert with 1.5x growth for item shop control pointers
0x007C3E805STL_vector_clear_ptr_arrayClears a std::vector of pointers: frees aligned buffer and resets begin/end/capacity to null
0x007C44D0129STL_vector_dealloc_ptr_arrayDeallocates std::vector buffer with aligned free support; resets begin/end/capacity to null
0x007C456010STL_vector_throw_length_error_0x4560Throws std::length_error("vector too long")
0x007C457092STL_vector_allocate_alignedAllocates aligned memory for std::vector: 32-byte alignment for blocks >= 0x1000, stores raw ptr at [-4]
0x007C45D062std__allocator__deallocatestd::allocator::deallocate - Frees aligned vector memory. For blocks >= 0x1000, retrieves raw pointer from [-4] offset for aligned free.
0x007C461034STL_vector_copy_range_0x4610Copies memory range [param_1, param_2) to destination; returns pointer past end of copied data
0x007C4640452STL_vector_insert_ptr_0x4640std::vector insert with 1.5x growth: allocates aligned buffer, copies element, moves existing data around insert point
0x007C4A40129STL_vector_dealloc_ptr_array_0x4a40Deallocates std::vector buffer with aligned free; resets begin/end/capacity to null
0x007C534010STL_vector_throw_length_error_0x5340Throws std::length_error("vector too long")
0x007C535062std__allocator__deallocate_007c5350std::allocator::deallocate - Frees aligned vector memory. For blocks >= 0x1000, retrieves raw pointer from [-4] offset for aligned free.
0x007C539034STL_vector_copy_range_0x5390Copies memory range [param_1, param_2) to destination; returns end pointer
0x007C53C0452STL_vector_insert_ptr_0x53c0std::vector insert with 1.5x growth for emotion shop item pointers
0x007C5DE010STL_vector_throw_length_error_0x5de0Throws std::length_error("vector too long")
0x007C5DF062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007C5E3034STL_vector_copy_range_0x5e30Copies memory range [param_1, param_2) to destination; returns end pointer
0x007C5E60452STL_vector_insert_ptr_0x5e60std::vector insert with 1.5x growth for sale item pointers
0x007C6230129STL_vector_dealloc_ptr_array_0x6230Deallocates std::vector buffer with aligned free; resets begin/end/capacity to null
0x007C6BA010STL_vector_throw_length_error_0x6ba0Throws std::length_error("vector too long")
0x007C6BB062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007C8BD0517STL_tree_val__Insert_nodeSTL _Tree_val::_Insert_node, inserts a node into a red-black tree, performs RB rebalancing (rotations + recoloring). MSVC 2019 std::set/map implementation. Multiple template instantiations (uint, string, PCTableEntry const*).
0x007C8E5028STL_vector_is_unallocatedChecks if vector's begin pointer (first member) is null, meaning no allocation exists. Returns 1 if unallocated, 0 otherwise. Not the same as standard empty() which checks begin==end.
0x007C9B3010std__array_subscript_out_of_rangeThrows std::out_of_range with message "invalid array<T, N> subscript". Called when array bounds check fails. Does not return.
0x007CA96090STL_vector__Change_arraySTL vector::_Change_array, replaces internal buffer. Frees old allocation (with aligned-delete for >0xFFF byte buffers), sets begin/end/capacity pointers. MSVC 2019 implementation for vector of uint/pointer types.
0x007CC35067std__list_1c_byte__free_headFrees a 0x1C-byte allocation at offset+4 if non-null. Used as a small-object destructor helper.
0x007CC3A078std__list_1c_byte__free_head_safe_aFrees a 0x1C-byte allocation at offset+4 if non-null. Safe variant with SEH frame. Duplicate behavior of 007cc350.
0x007CC3F078std__list_1c_byte__free_head_safe_bFrees a 0x1C-byte allocation at offset+4 if non-null. Safe variant with SEH frame. Duplicate behavior of 007cc350.
0x007CC660517STL_tree_insert_node_007cc660MSVC STL red-black tree _Insert_node implementation. Inserts a new node into the tree, performs rotations and recoloring to maintain red-black properties. Matched to Visual Studio 2019 Release library.
0x007CCE3034STL_uninitialized_copy_range_007cce30Copies memory range [param_1, param_2) to param_3 destination buffer. Returns pointer past end of destination.
0x007CCE6034STL_uninitialized_copy_range_007cce60Copies memory range [param_1, param_2) to param_3 destination buffer. Returns pointer past end of destination. Duplicate of memcpy_range_a.
0x007CCE9034STL_uninitialized_copy_range_007cce90Copies memory range [param_1, param_2) to param_3 destination buffer. Returns pointer past end of destination. Duplicate of memcpy_range_a.
0x007CCEC0104std__destroy_range_0x30_elementsDestroys a range of 0x30-byte elements by iterating [param_1, param_2) and calling STL_string_dtor on two strings per element.
0x007CCF30452std__vector_int_ptr__emplace_reallocate_007ccf30std::vector reallocate-and-emplace for int* elements. Grows capacity by 1.5x, copies elements, inserts new element at position. Used by cash shop vectors.
0x007CD100452std__vector_int_ptr__emplace_reallocate_007cd100std::vector reallocate-and-emplace for int* elements. Identical pattern to 007ccf30, different instance.
0x007CD2D0452std__vector_int_ptr__emplace_reallocate_007cd2d0std::vector reallocate-and-emplace for int* elements. Identical pattern to 007ccf30, different instance.
0x007CD4A0103std__map__destroy_subtreeRecursively destroys nodes in a std::map red-black tree. Traverses right subtree, then walks left siblings, freeing 0x18-byte nodes.
0x007CD51075std__map__lower_bound_intstd::map::lower_bound for integer keys. Performs binary search on red-black tree, returns iterator to first element >= key.
0x007CD9B067std__map__free_sentinel_nodeFrees a std::map sentinel node (0x18 bytes) if allocated.
0x007CDA00111std__map__clear_and_free_nodesClears all nodes from a std::map red-black tree. Recursively destroys subtrees then frees the sentinel node (0x18 bytes).
0x007CDA8078std__map__free_sentinel_node_007cda80Frees a std::map sentinel node (0x18 bytes) if allocated. Similar to 007cd9b0.
0x007CDAD078std__map__free_sentinel_node_007cdad0Frees a std::map sentinel node (0x18 bytes) if allocated. Similar to 007cd9b0.
0x007CDB8065std__map__dtor_007cdb80std::map destructor wrapper. Calls std__map__clear_and_free_nodes.
0x007CDBD0129std__vector__deallocate_007cdbd0Deallocates a std::vector buffer. Handles aligned allocation (>0xfff bytes checks alignment header). Zeros out begin/end/capacity pointers.
0x007CDC60129std__vector__deallocate_007cdc60Deallocates a std::vector buffer. Same pattern as 007cdbd0, different instance.
0x007CDCF0129std__vector__deallocate_007cdcf0Deallocates a std::vector buffer. Same pattern as 007cdbd0, different instance.
0x007CDD80166std__vector__destroy_and_deallocate_0x30Destroys and deallocates a vector of 0x30-byte elements. First destroys string members in each element, then frees the underlying buffer.
0x007CE0B083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x007D3930517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x007D3B4010std__vector_xlength_error_007d3b40Throws std::length_error("vector too long") - STL vector overflow guard.
0x007D3B5010std__vector_xlength_error_007d3b50Throws std::length_error("vector too long") - STL vector overflow guard.
0x007D3B6010std__vector_xlength_error_007d3b60Throws std::length_error("vector too long") - STL vector overflow guard.
0x007D3BB062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007D3BF062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007D3C3062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007D3D2034memcpy_range_007d3d20Copies a memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past the end of copied data.
0x007D3D5034memcpy_range_007d3d50Copies a memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past the end of copied data.
0x007D3D80103std__map_destroy_subtreeRecursively destroys nodes in a std::map/set red-black tree. Visits left subtree, frees current node (0x1C bytes), advances to right child.
0x007D3DF0418std__vector_reallocate_007d3df0std::vector reallocation with grow policy (1.5x). Allocates new buffer, copies old data, zero-fills new elements, frees old buffer. Max capacity 0x3FFFFFFF elements.
0x007D3FA0418std__vector_reallocate_007d3fa0std::vector reallocation with grow policy (1.5x). Allocates new buffer, copies old data, zero-fills new elements, frees old buffer. Max capacity 0x3FFFFFFF elements.
0x007D415028_Zero_range<>Fills a memory range with zeros using memset.
0x007D417028_Zero_range<>Fills a memory range with zeros using memset.
0x007D4620111std__map_destroy_tree_007d4620Destroys all nodes in a std::map/set red-black tree. Iterates left children, recursively destroys right subtrees, frees each 0x1C-byte node, then frees sentinel.
0x007D46A0126std__map_destroy_tree_007d46a0Destroys all nodes in a std::map/set red-black tree. Iterates left children, recursively destroys right subtrees, frees each 0x1C-byte node, then frees sentinel.
0x007D4720129std__vector_deallocate_007d4720Deallocates std::vector internal buffer. Handles aligned allocation (>0xFFF bytes have stored original pointer at offset -4). Resets begin/end/capacity to 0.
0x007D47B0129std__vector_deallocate_007d47b0Deallocates std::vector internal buffer. Handles aligned allocation (>0xFFF bytes have stored original pointer at offset -4). Resets begin/end/capacity to 0.
0x007D985010std__vector_xlength_error_007d9850Throws std::length_error with "vector too long" message. Called when a vector exceeds maximum size.
0x007D986010std__vector_xlength_error_007d9860Throws std::length_error with "vector too long" message. Called when a vector exceeds maximum size.
0x007D987062deallocatestd::allocator::deallocate for 4-byte element types. Handles aligned deallocation for large allocations (>0xFFF bytes).
0x007D98B062deallocatestd::allocator::deallocate for 4-byte element types. Handles aligned deallocation for large allocations (>0xFFF bytes). Duplicate of deallocate at 007d9870.
0x007DE53010std__vector_56__throw_length_errorThrows std::length_error with "vector too long" for a vector with 0x38-byte elements. Does not return.
0x007DE54067std__vector_56__free_bufferFrees buffer for std::vector with 0x38-byte elements. Handles aligned deallocation for large buffers (>= 0x1000 bytes).
0x007DE59034memcpy_range_56aCopies a memory range [param_1, param_2) to param_3 via memcpy. Returns end of copied data in destination.
0x007DE5C034memcpy_range_56bCopies a memory range [param_1, param_2) to param_3 via memcpy. Returns end of copied data in destination. Identical to memcpy_range_56a.
0x007DE5F0452std__vector_4ptr__emplace_reallocReallocating emplace/insert for a std::vector of 4-byte pointers. Uses 1.5x growth factor, allocates new buffer, copies element at insertion point, moves existing elements around it, frees old buffer.
0x007DE7C0424std__vector_2byte__emplace_reallocReallocating emplace/insert for a std::vector of 2-byte (short) elements. Uses 1.5x growth factor, allocates new buffer, copies element, moves existing elements, frees old buffer.
0x007DE990489std__vector_char__insert_rangeInserts a range of bytes into a std::vector<char> at position param_2. If capacity is sufficient, shifts existing elements and copies. Otherwise allocates new buffer with 1.5x growth, copies data around insertion point, and swaps buffers.
0x007DED80129std__vector_2byte__clear_and_freeClears and frees a std::vector with 2-byte elements. Frees buffer (handles aligned allocation), then zeroes begin/end/capacity pointers.
0x007DEE10129std__vector_4ptr__clear_and_freeClears and frees a std::vector with 4-byte (pointer) elements. Frees buffer (handles aligned allocation), then zeroes begin/end/capacity pointers.
0x007E093010std__vector_throw_length_error_2Throws std::length_error with "vector too long". Does not return. Duplicate instance.
0x007E094010std__vector_throw_length_error_3Throws std::length_error with "vector too long". Does not return. Duplicate instance.
0x007E095058std__vector_2byte__free_bufferFrees buffer for std::vector of 2-byte (short) elements. Handles aligned deallocation for large buffers (>= 0x1000 bytes).
0x007E099062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007E217039std__vector_int__push_back_007e2170Pushes an integer value onto a std::vector. Handles reallocation if at capacity.
0x007E659095STL_aligned_alloc_0c_elementsSTL aligned memory allocator for arrays of 0xC-byte elements (linked list nodes). Allocates count*0xC bytes with 32-byte alignment for large allocations (>=0x1000).
0x007E65F095STL_aligned_alloc_18_elementsSTL aligned memory allocator for arrays of 0x18-byte elements (tree nodes). Allocates count*0x18 bytes with 32-byte alignment for large allocations (>=0x1000).
0x007E6650102STL_aligned_alloc_1c_elementsSTL aligned memory allocator for arrays of 0x1C-byte elements. Allocates count*0x1C bytes with 32-byte alignment for large allocations (>=0x1000). Same pattern as 007e6590 (0xC-byte) and 007e65f0 (0x18-byte).
0x007E66C034STL_uninitialized_copy_0cSTL uninitialized_copy for 0xC-byte elements. Copies memory range [first, last) to destination via memcpy and returns end of destination.
0x007E66F034STL_uninitialized_copy_18STL uninitialized_copy for 0x18-byte elements. Copies memory range [first, last) to destination via memcpy and returns end of destination.
0x007E6720452std__vector_ptr__emplace_reallocate_007e6720std::vector emplace with reallocation for pointer elements. Grows by 1.5x capacity.
0x007E9B7010std__vector_xlength_error_refine_itemsThrows std::length_error("vector too long") for refine item vector overflow.
0x007E9B8010std__vector_xlength_error_refine_resultsThrows std::length_error("vector too long") for refine result vector overflow.
0x007E9B9062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007EADC0207STL_random_shuffle_bytes_3arg_aFisher-Yates shuffle for byte array using MT19937 RNG with bounded distribution (3-param variant). Shuffles elements in [param_1, param_2) using RNG state at param_3.
0x007EAE90207STL_random_shuffle_bytes_3arg_bFisher-Yates shuffle for byte array using MT19937 RNG with bounded distribution (3-param variant B). Identical algorithm to variant A, used for a different call site.
0x007EAF60147STL_random_shuffle_bytes_2arg_aFisher-Yates shuffle for byte array using MT19937 RNG with simple modulo (2-param variant). Shuffles elements in [param_1, param_2) using single MT19937 call per iteration.
0x007EB000147STL_random_shuffle_bytes_2arg_bFisher-Yates shuffle for byte array using MT19937 RNG with simple modulo (2-param variant B). Identical algorithm to variant A, used for a different call site.
0x007EE07034STL_uninitialized_copy_bytesCopies a byte range using memcpy. Copies (param_2 - param_1) bytes from param_1 to param_3. Returns the end pointer (param_3 + bytes_copied). Used in STL uninitialized_copy for trivially copyable types.
0x007EE0A0452std__vector_ptr__emplace_reallocate_007ee0a0std::vector emplace with reallocation for 4-byte (pointer) elements. Calculates new capacity using 1.5x growth strategy, allocates aligned memory, inserts new element at the specified position, moves existing elements around it, frees old buffer.
0x007EE270439std__vector_8byte__emplace_reallocatestd::vector emplace with reallocation for 8-byte elements. Uses 1.5x growth, aligned allocation, inserts a pair of values at the specified position, relocates existing pairs via copy_8byte_pairs helpers, frees old buffer.
0x007EE430520std__vector_0x20__emplace_reallocatestd::vector emplace with reallocation for 0x20-byte elements (containing STL strings). Uses 1.5x growth, aligned allocation. Calls CCharRenderInfo__set_body_palette (move-construct single element) for the new item. Moves existing elements and destroys strings in old buffer before freeing.
0x007EE640476std__vector_0x20__resize_defaultstd::vector resize with default construction for 0x20-byte elements. Grows to new size, default-constructs new elements at the end. Moves existing elements to new buffer and destroys+frees old buffer.
0x007EE820204std__move_construct_0x20_elements_007ee820Move-constructs a range of 0x20-byte elements (containing STL strings). Iterates source range in 0x20 strides, move-constructs each element's string data (steals buffer pointer), copies extra 6-byte suffix, resets source string to empty.
0x007EE8F0141std__move_construct_0x20_elementMove-constructs a single 0x20-byte element. Steals the STL string buffer from source (moves pointer, length, capacity), copies the 6-byte suffix after the string, resets source string to empty state.
0x007EE980115std__copy_construct_string_0x20_elementCopy-constructs a 0x20-byte element with string + extra fields. Copy-constructs the STL string portion, then copies 6 additional bytes (at offsets 0x18-0x1d) from the source element.
0x007EEC7090std__destruct_0x20_elements_range_aDestroys a range of 0x20-byte elements by iterating and calling STL_string_dtor on each. Used as the destructor callback for vector cleanup of string-containing structs.
0x007EECD090std__destruct_0x20_elements_range_bDestroys a range of 0x20-byte elements (variant B). Identical pattern to variant A - iterates in 0x20 strides calling STL_string_dtor on each element. Used for a different call site.
0x007EED30129std__vector_ptr__deallocate_007eed30Deallocates a std::vector's backing buffer for 4-byte (pointer) elements. Handles aligned allocation cleanup (checks for oversized allocations using stored pre-alignment pointer at buf[-4]).
0x007EEDC0129std__vector_8byte__deallocateDeallocates a std::vector's backing buffer for 8-byte elements. Handles aligned allocation cleanup with the same pattern as the 4-byte variant (mask 0xfffffff8 vs 0xfffffffc).
0x007EEE50177std__vector_clear_and_free_0x20_string_elementsClears and frees a vector of 0x20-byte elements containing std::string members. Iterates each element calling STL_string_dtor, then frees the backing buffer and resets begin/end/capacity pointers to 0.
0x007F28B092std__destruct_0x20_elements_rangeDestructs a range of 0x20-byte elements from param_1 to param_2. Each element contains a std::string that is destroyed via STL_string_dtor.
0x007F291092std__destruct_0x20_elements_range_v2Destructs a range of 0x20-byte elements from param_1 to param_2. Identical to std__destruct_0x20_elements_range.
0x007F2980142std__default_construct_0x20_elementsDefault-constructs param_2 count of 0x20-byte elements starting at param_1. Each element is zeroed out and initialized as an empty std::string (length=0, capacity=0xF).
0x007F2A70203std__move_construct_0x20_elementsMove-constructs 0x20-byte elements from [param_1, param_2) to param_3. Each element contains a std::string (with SSO) and additional fields. Moves the string data and clears the source element's string to empty state.
0x007F2B4010std__vector_throw_length_error_7f2b40Throws std::length_error("vector too long"). Does not return.
0x007F2B5010std__vector_throw_length_error_7f2b50Throws std::length_error("vector too long"). Does not return.
0x007F2B6010std__vector_throw_length_error_7f2b60Throws std::length_error("vector too long"). Does not return.
0x007F2B7010std__vector_throw_length_error_7f2b70Throws std::length_error("vector too long"). Does not return.
0x007F2B80407STL_wstring_append_fillstd::wstring::append(count, wchar_t). Appends param_2 copies of wide character param_3. Handles SSO (small string optimization with capacity 7) and heap allocation with aligned growth. Null-terminates the result.
0x007F2D20132std__vector_clear_0x20_string_elementsClears a vector of 0x20-byte elements by destroying string members (STL_string_dtor) on each element, then resets end pointer to begin.
0x007F2DB062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007F2DF062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x007F2E3058free_buffer_0x20_strideFrees a heap buffer for elements with 0x20 stride. Handles aligned deallocation.
0x007F2E7058free_buffer_0x20_stride_2Frees a heap buffer for elements with 0x20 stride (duplicate).
0x007F2EB058free_buffer_2byte_strideFrees a heap buffer for 2-byte (short) elements. Handles aligned deallocation.
0x007F2EF039std__vector_push_back_intPush back a 4-byte value to a std::vector. If capacity available, copies directly; otherwise calls grow/realloc via FUN_007ee0a0.
0x007F2F20101std__vector_push_back_0x20Push back a 0x20-byte element to a std::vector. If space available, copies via FUN_007ee8f0; otherwise grows via FUN_007ee430.
0x007F485034memcpy_range_to_dstCopies a range [param_1, param_2) to param_3. Returns pointer past the end of copied data.
0x007F488034memcpy_range_to_dst_2Copies a range [param_1, param_2) to param_3. Returns pointer past the end of copied data (duplicate).
0x007F48B099std__vector_assign_9byte_elementsAssigns a range of 9-byte elements to a vector. If capacity insufficient, reallocates via FUN_007f8f50. Copies data with memcpy and updates end pointer.
0x007F4C80147std__vector_clear_and_free_9byteClears and frees a vector of 9-byte elements. Frees backing buffer with aligned deallocation, resets all 3 pointers (begin/end/capacity) to 0.
0x007F8F50271std__vector_9byte__reallocateSTL vector reallocation for 9-byte elements. Frees old buffer, allocates new buffer with 1.5x growth factor. Max capacity 0x1c71c71c elements. Handles aligned allocation for buffers >4096 bytes.
0x007F906010std__vector_throw_length_error_7f9060Throws std::length_error("vector too long"). Does not return.
0x007F98A0452std__vector_ptr__emplaceSTL vector emplace/insert for pointer-sized (4-byte) elements. Allocates new buffer with 1.5x growth, copies element at insertion point, memcpy's before/after segments, frees old buffer. Max capacity 0x3fffffff.
0x007FC2C083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x007FE080175STL_tree_destroy_nodes_recursive_1b0Recursively destroys nodes in a std::_Tree with 0x1b0-byte node size, freeing string members
0x007FE2A079STL_tree_destroy_single_1b0Destroys a single std::_Tree with 0x1b0-byte nodes by recursive cleanup and freeing root
0x007FE30090STL_tree_destroy_single_1b0_altAlternate destructor for a std::_Tree with 0x1b0-byte nodes, identical pattern to 7fe2a0
0x007FE4A083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x007FEA50704std__tree__extract_nodeSTL red-black tree node extraction. Removes a node from the tree while maintaining RB-tree invariants. Handles all cases: node with two children (swap with successor), one child, leaf. Performs rotations and recoloring for balance fixup. Decrements tree size. Returns pointer to extracted node.
0x007FED1084std__tree__rotate_leftSTL red-black tree left rotation. Rotates param_2 node left by promoting its right child. Updates parent/child pointers and handles root case.
0x007FED7088std__tree__rotate_rightSTL red-black tree right rotation. Rotates param_2 node right by promoting its left child. Updates parent/child pointers and handles root case.
0x008038F0446STL_vector_16byte_insertSTL vector insert for 16-byte elements. Grows the vector with 1.5x capacity, copies existing elements around the insertion point, and inserts the new 16-byte element.
0x00803AC0541STL_insertion_sort_16byte_gradeenchantSTL insertion sort for 16-byte grade enchant entries. Sorts array in-place by comparing entries via CQuestSystem tree lookups and priority fields at offset +0x18 (type flag) and +0x34 (priority value).
0x00803CE0702STL_make_heap_16byte_gradeenchantSTL make_heap (sift-down) for 16-byte grade enchant entries. Builds a max-heap by repeatedly extracting the last element and sifting it down through the heap. Uses CQuestSystem tree lookups for comparisons.
0x00803FA0178STL_median_of_three_16byte_gradeenchantSTL median-of-three sort for 16-byte grade enchant entries. Sorts 3 elements (first, mid, last) to select a good pivot for introsort partitioning. Uses CQuestSystem tree-based comparator.
0x008040602228STL_introsort_loop_16byte_gradeenchantSTL introsort loop (partition phase) for 16-byte grade enchant entries. Implements the main partitioning loop of std::sort with median-of-three pivot selection. Falls back to insertion sort for small ranges.
0x00804920620STL_adjust_heap_16byte_gradeenchantSTL adjust_heap (sift-down) for 16-byte grade enchant entries. Pushes an element down through a binary heap to maintain heap property. Used by heap_sort and partial_sort.
0x00804B90257STL_sort_16byte_gradeenchantSTL std::sort implementation for 16-byte grade enchant entries. Uses introsort (quicksort + heapsort fallback + insertion sort for small ranges). Recursively sorts smaller partition first to limit stack depth.
0x008051D0129STL_vector_16byte_clear_and_freeClears and frees a std::vector of 16-byte elements. Handles aligned deallocation for large buffers (>0x1000 bytes) by reading the original allocation pointer from offset -4.
0x00809C3010thunk_to_std__Xlength_error_00809c30Wrapper calling std::_Xlength_error for vector overflow
0x00809C4058free_16byte_vector_bufferFrees a vector buffer of 16-byte elements. Calculates total size (count * 0x10), handles aligned deallocation for buffers >4096 bytes.
0x0080A260163std__tree__destroy_nodes_recursive_118Recursively destroys a red-black tree subtree of 0x18-byte nodes. Walks left children while recursively destroying right subtrees, then frees each node via operator delete. Stops at sentinel nodes.
0x0080B720517std__Tree_val__Insert_node_0080b720STL std::_Tree_val::_Insert_node. Inserts a node into a red-black tree, performs rotations and recoloring to maintain RB-tree invariants. MSVC 2019 library function.
0x0080CEA0103std__map_destroy_subtree_recursive_4cRecursively destroys a red-black tree subtree of 0x4C-byte nodes. Walks left children while destroying right subtrees, then frees each node. Stops at sentinel (nil) nodes marked by byte at offset 0xd.
0x0080D060284std__vector_construct_fill_0080d060STL std::vector constructor with fill. Allocates buffer for param_2 elements of 4 bytes each, fills with value from *param_3. Handles aligned allocation for buffers >4096 bytes.
0x0080D180284std__vector_construct_fill_0080d180STL std::vector constructor with fill (duplicate instance). Allocates buffer for param_2 elements of 4 bytes each, fills with value from *param_3. Handles aligned allocation for buffers >4096 bytes.
0x0080D45067free_12byte_bufferFrees a 0xC-byte buffer at offset 0x4 of the object if non-null. Used for cleanup of small linked list nodes.
0x0080D4A067free_16byte_bufferFrees a 0x10-byte buffer at offset 0x4 of the object if non-null. Used for cleanup of 16-byte data blocks.
0x0080D4F078free_12byte_buffer_altAlternative version of free_12byte_buffer. Frees a 0xC-byte buffer at offset 0x4 if non-null. Different SEH frame setup from primary version.
0x0080D54078free_16byte_buffer_altAlternative version of free_16byte_buffer. Frees a 0x10-byte buffer at offset 0x4 if non-null. Different SEH frame setup from primary version.
0x0080D590111std__map_destroy_tree_4cDestroys an entire red-black tree of 0x4C-byte nodes. Gets root from header node, recursively destroys all subtrees via std__map_destroy_subtree_recursive_4c, then frees the header/sentinel node.
0x0080D610103std__list_destroy_all_nodes_0xcDestroys all nodes in a singly-linked list of 0xC-byte nodes. Zeroes the count at header[1], then walks the chain from header[0] freeing each 0xC-byte node. Finally frees the header node itself.
0x0080D68065std__map_clear_4c_wrapperWrapper that clears a std::map with 0x4C-byte nodes. Calls std__map_destroy_tree_4c to recursively delete all nodes, then resets the tree header to empty state.
0x008125A010std__vector_xlength_error_008125a0Throws std::length_error for vector operations that exceed max_size.
0x008125B010std__vector_xlength_error_008125b0Throws std::length_error for vector operations that exceed max_size.
0x008125C095std__allocate_12byte_arrayAllocates memory for an array of 12-byte elements with proper alignment.
0x00812620165std__list_push_back_12byteAllocates a new 12-byte node and inserts it at the end of an STL list.
0x008126D0173std__list_push_back_16byteAllocates a new 16-byte node and inserts it at the end of an STL list.
0x00814080573std__vector_36byte__emplaceSTL vector emplace for 36-byte (0x24) elements. Allocates new buffer with 1.5x growth, copies element at insertion point, relocates before/after segments. Destroys strings in old elements before freeing old buffer. Max capacity 0x71c71c7.
0x008142C0103std__vector_36byte__construct_elementConstructs a 36-byte element in-place for vector emplace. Copy constructs the embedded string, then copies remaining fields (0x18, 0x1c byte, 0x20).
0x0081546090std__vector_36__destroy_elementsDestroys all elements in a vector of 0x24-byte (36) structs. Each element contains a string that needs to be destroyed. Iterates begin to end, calling STL_string_dtor on each element.
0x008154C0197std__vector_36__clear_and_freeClears and frees a vector of 0x24-byte structs. Destroys string in each element, then frees the buffer (handles aligned allocation), and zeroes begin/end/capacity.
0x0081F46092STL_vector_36byte_destroy_rangeDestroys a range of 0x24-byte (36-byte) vector elements by calling STL_string_dtor on each element's embedded string.
0x0081F4C0159STL_vector_36byte_uninitialized_copyUninitialized copy for vector of 36-byte elements. Copy-constructs each element's string (offset 0) and copies raw fields at offsets 0x18, 0x1C, and 0x20 into destination range at param_3.
0x0081F560157STL_vector_36byte_uninitialized_copy_0081f560Uninitialized copy for vector of 36-byte elements (duplicate instance). Same logic as STL_vector_36byte_uninitialized_copy.
0x0081F60010STL_vector_xlength_error_0081f600Throws std::length_error for vector too long
0x0081F61061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0081F65034STL_vector_36byte_uninitialized_moveUninitialized move/relocate for vector of 36-byte elements. Uses memcpy to bulk-copy the source range [param_1, param_2) to param_3.
0x0081F680352STL_vector_32byte_insert_singleInserts a single 32-byte element into a vector at position param_2. Allocates a new buffer with 1.5x growth, copies the element, memcpy's surrounding data, and frees the old buffer.
0x0081F80086STL_allocator_36byte_construct_defaultDefault-constructs a 36-byte element (or small allocator state). Sets first byte to 1, zeroes out the remaining 12 bytes (3 ints at offsets 4, 8, 0xC).
0x0081F86067STL_list_node_12byte_deleteDeletes a 12-byte list node (prev/next/value) if the pointer at offset +4 is non-null. Used for STL list node cleanup.
0x0081F8B078STL_list_node_12byte_delete_0081f8b0Deletes a 12-byte list node if pointer at offset +4 is non-null. Duplicate instance of STL_list_node_12byte_delete.
0x0081F920323STL_vector_32byte_copy_assignCopy-assigns a vector of 32-byte elements. Allocates new buffer, memcpy's source data, swaps with current vector, and frees old buffer. Standard STL vector copy assignment.
0x0081FA70349STL_vector_32byte_copy_assign_and_deleteCopy-assigns a vector of 32-byte elements, then optionally deletes a 0x10-byte object if param_2 bit 0 is set. Combines vector copy with owner object cleanup.
0x0081FCF0311STL_vector_32byte_shrink_to_fitShrinks a vector of 32-byte elements to fit its current size. Creates a copy with exact capacity, swaps with original, frees old buffer.
0x00820E50129STL_vector_32byte_clearFrees aligned vector buffer (32-byte elements) and resets pointers to null
0x00820EE010STL_vector_xlength_error_00820ee0Throws std::length_error for vector too long
0x00820EF092STL_vector_32byte_allocateAllocates aligned memory for vector of 32-byte elements; handles large allocation alignment
0x00820F5058STL_vector_32byte_deallocateDeallocates aligned memory for vector of 32-byte elements
0x00820F90165STL_list_push_back_ptrPushes a pointer value onto a std::list. Allocates a 12-byte node (prev, next, value), links it before the sentinel, and increments size. Throws list_too_long at max_size 0x15555555.
0x0082278034memcpy_range_to_dest_00822780Copies memory range [param_1, param_2) to param_3 destination. Returns end of destination pointer.
0x008227B034memcpy_range_to_dest_altCopies memory range [param_1, param_2) to param_3 destination. Returns end of destination pointer. Identical to 00822780.
0x008227E0452std__vector_ptr__emplace_altSTL vector emplace/insert for pointer-sized (4-byte) elements. Allocates new buffer with 1.5x growth, copies element, memcpy's segments. Alternative version with different error handler.
0x008229B0452std__vector_ptr__emplace_00822980STL vector emplace for 4-byte elements. Another variant with different error handler (STL_vector_xlength_error_0082f420). 1.5x growth, max 0x3fffffff.
0x00822B80103std__tree__destroy_nodes_recursive_18Recursively destroys STL tree nodes of 0x18 bytes. Iterative on left child, recursive on right. Frees each node.
0x008236D0129std__vector_ptr__deallocateDeallocates a vector of pointers. Frees the buffer (handles aligned deallocation for >4096 bytes), zeroes all 3 vector fields.
0x00823760129std__vector_ptr__deallocate_altDeallocates a vector of pointers. Alternative version identical to std__vector_ptr__deallocate.
0x00823D9083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x0082F200517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x0082F41010STL_vector_xlength_error_0082f410Throws std::length_error for vector too long
0x0082F42010STL_vector_xlength_error_0082f420Throws std::length_error for vector too long
0x0082F43062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0082F47062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x00831EB0264std__vector_byte__insert_with_growSTL vector insert with capacity growth for byte vectors. Calculates new capacity (1.5x growth, minimum required size), allocates new buffer, copies existing data around the insertion point via memcpy, then swaps buffers. Standard vector::insert implementation for contiguous byte data.
0x00835AC063std__string__find_charFinds a character in a std::string starting from a given offset. Uses memchr internally. Returns the index of the character if found, -1 otherwise. Equivalent to std::string::find(char, pos).
0x00835D90337std__vector_dword__insert_with_growSTL vector insert with growth for 4-byte elements (DWORD). Standard vector::insert implementation with 1.5x capacity growth. Allocates new buffer, copies elements around insertion point, frees old buffer. Max capacity 0x3FFFFFFF elements.
0x00835F00572std__vector_12byte__insert_with_growSTL vector insert with growth for 12-byte elements. Standard vector::insert with 1.5x growth. Calls FUN_00836c80 for element construction and FUN_008365d0 for range copy. Destroys old elements via stub_005feb20 before freeing old buffer. Max capacity 0x15555555 elements.
0x00836140575std__vector_48byte__insert_with_growSTL vector insert with growth for 48-byte (0x30) elements. Standard vector::insert with 1.5x growth. Calls FUN_00836700 for element construction and FUN_00836680 for range copy. Destroys old elements via STL_string_dtor before freeing. Max capacity 0x5555555 elements.
0x00836380439std__vector_8byte__insert_with_growSTL vector insert with growth for 8-byte elements. Standard vector::insert with 1.5x growth. Copies the 8-byte element (two DWORDs) at insertion point. Handles old buffer freeing with alignment. Max capacity 0x1FFFFFFF elements.
0x00836540131std__vector_byte__assign_rangeAssigns a range of bytes to a std::vector<byte>. Allocates buffer of exact size needed, then memcpy copies the source range [param_2, param_3) into the new buffer. Used for bulk data copy operations.
0x008365D0169std__vector_12byte__relocate_rangeRelocates a range of 12-byte elements between vector buffers. Moves elements from [param_1, param_2) to destination starting at param_3. Zeroes source elements after move (move semantics). Used during vector reallocation.
0x00836680123std__vector_48byte__move_construct_rangeMove-constructs a range of 48-byte (0x30) elements. Iterates from param_1 to param_2 in steps of 0x30, calling FUN_00836ff0 to construct each element at destination param_3. Used during vector reallocation for 48-byte element vectors.
0x00836700119std__vector_48byte__copy_construct_elementCopy-constructs a 48-byte element at param_2 from source at param_3. Copies the first 24 bytes via STL_string_copy_construct (std::string), then copies the remaining 24 bytes (offsets 0x18-0x2F) directly. Used for vector element construction.
0x00836C80191std__vector_dword__copy_ctorCopy constructor for std::vector<DWORD>. Allocates buffer sized to source vector's element count, then memcpy copies the data. Sets begin/end/capacity pointers appropriately.
0x008370A090std__vector_48byte__destroy_rangeDestroys a range of 48-byte elements in a vector. Iterates from begin to end in steps of 0x30, calling STL_string_dtor on each element's embedded std::string.
0x00837230129std__vector_8byte__clear_and_freeClears and frees a std::vector<uint64/8-byte>. Frees the buffer memory (handling aligned allocations >4KB), then sets begin/end/capacity to NULL.
0x008372C0197std__vector_48byte__clear_and_freeClears and frees a std::vector of 48-byte (0x30) elements. Destroys each element's embedded std::string, then frees the buffer. Sets begin/end/capacity to NULL.
0x0083DC3092std__vector_12byte__destroy_rangeDestroys a range of 12-byte elements. Iterates from param_1 to param_2 in steps of 0xC, calling stub_005feb20 on each element.
0x0083DC9092std__vector_48byte__destroy_range_altDestroys a range of 48-byte elements (alternate version). Iterates in steps of 0x30, calling STL_string_dtor on each element's embedded string.
0x0083DD5010STL_vector_xlength_error_0083dd50Throws std::length_error for vector too long
0x0083DD6010STL_vector_xlength_error_0083dd60Throws std::length_error for vector too long
0x0083DD7010STL_vector_xlength_error_0083dd70Throws std::length_error for vector too long
0x0083DD8010STL_vector_xlength_error_0083dd80Throws std::length_error for vector too long
0x0083DD9092STL_vector_4byte_allocateAllocates aligned memory for vector of 4-byte elements; handles large allocation alignment
0x0083DDF062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0083DE3062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0083DE7061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0083DEB061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0083DFD0309std__vector_12byte__copy_ctorCopy constructor for std::vector of 12-byte elements. Allocates buffer, then copy-constructs each element via stub_005fbf00. Handles aligned allocation for large buffers.
0x0083E5C083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x0083FC00517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x00844E90121linked_list_destroy_all_nodesWalks linked list from head, destroys each node (size 0x54) and frees memory
0x0084A1B036std__list_find_by_keyLinear search through a linked list from param_2 to param_3, looking for a node where field +8 matches *param_4. Stores the found node (or end sentinel) in *param_1.
0x0084C960517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x0084CB7095std__allocate_24byte_arrayAllocates count * 24 (0x18) bytes for an array. Uses aligned allocation (32-byte alignment) for buffers >= 4096 bytes. Throws bad_array_new_length if count >= 0xAAAAAAB.
0x0084DC4034memcpy_range_forwardCopies memory range [param_1, param_2) to param_3. Returns pointer past end of destination. Used as std::copy/memmove helper.
0x0084DC7034memcpy_range_forward_v2Copies memory range [param_1, param_2) to param_3. Returns pointer past end of destination. Duplicate of memcpy_range_forward.
0x0084DCA0337std__vector_insert_single_4bytestd::vector insert for 4-byte elements. Reallocates with 1.5x growth, copies elements before and after insertion point. Frees old buffer.
0x0084DE10585std__vector_insert_52bytestd::vector insert for 0x34-byte (52-byte) elements. Reallocates with 1.5x growth, moves elements, constructs new element at insertion point via std__construct_element_0x34.
0x0084E060577std__vector_insert_28bytestd::vector insert for 0x1c-byte (28-byte) elements. Reallocates with 1.5x growth, uses aligned allocation for >4KB buffers. Copies 28-byte structs to new buffer.
0x0084E2B0604std__vector_insert_28byte_v2std::vector insert for 0x1c-byte (28-byte) elements, variant 2. Similar to std__vector_insert_28byte but calls construct_element and set_title_text helpers for element initialization.
0x0084E510192std__uninitialized_move_0x1cstd::uninitialized_move for 0x1c-byte structs. Moves array of 28-byte elements with embedded strings from source to destination range. Clears source string fields after move.
0x0084E5D0123std__uninitialized_move_0x34std::uninitialized_move for 0x34-byte structs. Iterates source range, calls on_draw_handler (move ctor) for each 52-byte element to construct in destination.
0x0084E650127std__construct_element_0x1cMove-constructs a single 0x1c-byte (28-byte) element. Copies 7 dwords including embedded string with move semantics (clears source string after copy).
0x0084E6D0129std__construct_element_0x34Copy-constructs a 0x34-byte (52-byte) element. Copies string field via STL_string_copy_construct, then copies remaining 0x1c bytes of non-string data.
0x0084E760181std__vector_copy_ctor_4bytestd::vector copy constructor for 4-byte elements. Allocates new buffer, copies all elements via memcpy.
0x0084E820171std__move_construct_0x34Move-constructs a 0x34-byte (52-byte) element with embedded string. Copies all fields, moves the string (clears source string), copies remaining tail fields.
0x00850B2091STL_vector_destroy_string_elements_1CDestroys elements in a vector with 0x1C (28) byte stride. Iterates from begin to end, calling STL_string_dtor on each element. Used for vectors of structs that contain std::string members at the start of each element.
0x00850B8090STL_vector_destroy_string_elements_34Destroys elements in a vector with 0x34 (52) byte stride. Iterates from begin to end, calling STL_string_dtor on each element. Used for vectors of larger structs containing std::string members.
0x00850D30207STL_vector_destroy_elements_1CDestroys and deallocates a std::vector of 0x1C (28) byte elements. Iterates elements calling STL_string_dtor on each, then frees the underlying buffer with size validation. Handles aligned allocation (checks for 0xFFF threshold). Resets begin/end/capacity pointers to null.
0x00850E00194STL_vector_destroy_elements_34Destroys and deallocates a std::vector of 0x34 (52) byte elements. Iterates elements calling STL_string_dtor on each, then frees the underlying buffer with aligned allocation handling (0xFFF threshold check). Resets begin/end/capacity pointers to null.
0x00850ED0159STL_vector_dealloc_buffer_1CDeallocates the raw buffer of a std::vector with 0x1C (28) byte element stride. Does NOT call element destructors -- only frees the memory. Handles aligned allocation (checks 0xFFF threshold, retrieves original pointer from offset -4 if aligned). Resets begin/end/capacity to null.
0x0085202028std__string_assign_helperHelper that assigns a std::string's data to a destination. Checks if the string uses SSO (small string optimization) buffer or heap pointer, then calls STL_lib_func_004fa5c0 with the data pointer and length.
0x0086A72093std__destroy_range_0x1cDestroys a range of 0x1C-byte elements containing std::strings. Iterates from param_1 to param_2, calling STL_string_dtor on each element.
0x0086A78092std__destroy_range_0x34Destroys a range of 0x34-byte elements containing std::strings. Iterates from param_1 to param_2, calling STL_string_dtor on each element.
0x0086A7E0129std__vector_free_alignedFrees the aligned memory backing a std::vector of 4-byte elements. Handles aligned allocation (32-byte alignment for blocks > 0x1000). Resets all three vector pointers to 0.
0x0086A87064std__uninitialized_copy_0x1cCopies a range of 0x1C-byte elements via memcpy. Returns pointer past the last copied element in the destination.
0x0086A8B010thunk_to_std__Xlength_error_0086a8b0Thunk that calls std::_Xlength_error with vector_too_long message
0x0086A8C010thunk_to_std__Xlength_error_0086a8c0Thunk that calls std::_Xlength_error for vector allocation failure
0x0086A8D010thunk_to_std__Xlength_error_0086a8d0Wrapper that calls std::_Xlength_error for vector allocation failure
0x0086A8E010thunk_to_std__Xlength_error_0086a8e0Wrapper that calls std::_Xlength_error with vector_too_long message
0x0086A8F092std__vector_alloc_4byte_alignedAllocates memory for a std::vector of 4-byte elements. Multiplies count by 4, uses aligned allocation for blocks > 0x1000. Throws bad_array_new_length if count >= 0x40000000.
0x0086A95095std__allocate_array_12byte_elementsSTL array allocator for elements of size 12 (0xC) bytes. Checks for overflow, uses aligned allocation for sizes >= 0x1000, otherwise direct heap alloc. Throws bad_array_new_length on overflow.
0x0086A9B095std__allocate_array_20byte_elementsSTL array allocator for elements of size 20 (0x14) bytes. Checks for overflow, uses aligned allocation for sizes >= 0x1000, otherwise direct heap alloc. Throws bad_array_new_length on overflow.
0x0086AA10241std__string_assign_fillSTL string::assign(count, char). Assigns param_2 copies of param_3 character. Handles SSO (small string optimization) - if capacity > 15, string is heap-allocated. Grows capacity using 1.5x strategy. Frees old buffer if heap-allocated.
0x0086AB10133std__vector_clear_string_elementsSTL vector::clear() for a vector of elements containing strings (element size 0x1C = 28 bytes). Iterates through elements calling string destructor on each, then resets size to begin. Uses SEH for exception safety.
0x0086ABA062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x0086ABE067std__free_aligned_array_28byteFrees an aligned heap allocation that held an array of 28-byte (0x1C) elements. Retrieves original allocation pointer from 4 bytes before aligned address for large allocations (>= 0x1000).
0x0086AC3056std__free_aligned_array_52byteFrees an aligned heap allocation that held an array of 52-byte (0x34) elements. Retrieves original allocation pointer from 4 bytes before aligned address for large allocations (>= 0x1000).
0x0086AC7067std__free_aligned_array_28byte_v2Frees an aligned heap allocation for array of 28-byte elements. Second instance - same logic as std__free_aligned_array_28byte but separate code generation.
0x0086ACC095std__list_erase_nodeSTL list::erase(iterator). Removes a node from a doubly-linked list by relinking prev/next pointers, decrements list size, frees the 12-byte node, and returns iterator to next element. Uses SEH.
0x0086AD30167std__vector_erase_string_elementSTL vector::erase for elements of size 0x18 (24 bytes) that contain strings. Shifts subsequent elements forward by move-assigning them (copies 24 bytes + transfers string ownership), destroys last element, decrements end pointer. Uses SEH.
0x0086ADE0383std__vector_bool_eraseSTL vector<bool>::erase(iterator). Erases a single bit from the bit-packed vector by shifting all subsequent bits down by one position. Updates capacity tracking, masks unused high bits, and returns iterator to erased position.
0x0086B03034std__copy_range_memcpyCopies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer to end of destination (param_3 + copied size). Used by STL algorithms for trivially copyable types.
0x0086B06034std__copy_range_memcpy_v2Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns end-of-destination pointer. Duplicate template instantiation of std__copy_range_memcpy.
0x0086B09034std__copy_range_memcpy_v3Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns end-of-destination pointer. Third template instantiation of range copy.
0x0086B0C0166std__list_insert_nodeSTL list::insert - allocates a 12-byte node (next, prev, value), links it before param_2 position. Increments list size at this+4. Throws length_error if at max capacity (0x15555555).
0x0086B170276std__vector_int_insert_reallocSTL vector<int>::insert with reallocation. Grows capacity by 1.5x, allocates new buffer, copies value at insertion point, memcpy's elements before/after. Frees old buffer via FID_conflict__Change_array. Throws length_error at 0x3FFFFFFF elements.
0x0086B2B0577std__vector_insert_realloc_28byteSTL vector::insert with reallocation for 28-byte (0x1C) elements containing strings. Allocates new aligned buffer (1.5x growth), copies 28-byte element at insert position, relocates existing elements, frees old buffer. Max 0x9249249 elements.
0x0086B500276std__vector_int_insert_realloc_v2STL vector<int>::insert with reallocation (variant 2). Same 1.5x growth, memcpy-based relocation, throws length_error at 0x3FFFFFFF. Uses different allocator than v1.
0x0086B640337std__vector_int_insert_realloc_v3STL vector<int>::insert with reallocation (variant 3). Uses aligned allocation, frees old buffer with alignment-aware deallocator. 1.5x growth strategy, max 0x3FFFFFFF elements.
0x0086B7B0276std__vector_int_insert_realloc_v4STL vector<int>::insert with reallocation (variant 4). Same pattern as other vector insert variants - 1.5x growth, memcpy relocation, FID_conflict__Change_array for cleanup.
0x0086B8F0554std__vector_insert_realloc_12byteSTL vector::insert with reallocation for 12-byte (0xC) elements. Allocates aligned buffer with 1.5x growth, uses move-construct and relocate helpers for elements. Destroys old elements and frees old buffer. Max 0x15555555 elements.
0x0086BB20141std__map_recursive_node_destroyRecursively destroys red-black tree nodes (std::map/set). Each node is 0x30 bytes with a string member. Traverses left children iteratively (checking color byte at offset 0xD), recursing on right children, destroying strings and freeing nodes.
0x0086BBB075STL_map_lower_bound_int_0086bbb0STL red-black tree lower_bound search by integer key, returns iterator
0x0086BC0075STL_map_lower_bound_int_0086bc00STL red-black tree lower_bound search by integer key, returns iterator
0x0086BC5091linked_list_delete_all_0x1d0Walks linked list freeing each 0x1D0 byte node, resets count to 0
0x0086BCB088STL_vector_move_string_elementsMoves STL string elements (24 bytes each) between ranges, leaves source empty
0x0086BD10162STL_vector_relocate_12byte_elementsRelocates 12-byte elements from source to dest range, zeroes source
0x0086BDC051STL_vector_move_construct_12byteMove-constructs single 12-byte element, zeroes source triplet
0x0086BE00242STL_map_emplace_int_key_0086be00Emplaces new 0x30 byte node into red-black tree map with integer key, returns pair
0x0086C060181STL_vector_copy_construct_intCopy-constructs int vector: allocates buffer, memcpy elements from source
0x0086F34065STL_string_dtor_wrapper_0086f340SEH wrapper around STL string destructor
0x0086F39067free_0xc_nodeFrees 0xC byte node at offset 4 if non-null
0x0086F3E070free_0x1d0_nodeFrees 0x1D0 byte node at offset 4 if non-null
0x0086F43067free_0x14_nodeFrees 0x14 byte node at offset 4 if non-null
0x0086F48067free_0x30_node_0086f480Frees 0x30 byte node at offset 4 if non-null
0x0086F4D067free_0x30_node_0086f4d0Frees 0x30 byte node at offset 4 if non-null
0x0086F55078free_0xc_node_0086f550Frees 0xC byte node at offset 4 if non-null
0x0086F5A081free_0x1d0_node_0086f5a0Frees 0x1D0 byte node at offset 4 if non-null
0x0086F7F078free_0x30_node_0086f7f0Frees 0x30 byte node at offset 4 if non-null
0x0086F84078free_0x30_node_0086f840Frees 0x30 byte node at offset 4 if non-null
0x0086F920103linked_list_destroy_0xc_nodesWalks linked list freeing all 0xC byte nodes including sentinel
0x0086F990109linked_list_destroy_0x1d0_nodesWalks linked list freeing all 0x1D0 byte nodes including sentinel
0x0086FA10121linked_list_cleanup_and_destroy_0x14Walks linked list, runs cleanup on each 0x14 byte node then frees all including sentinel
0x0086FAF083STL_string_dtor_wrapper_0086faf0SEH wrapper around STL string destructor at offset 4
0x0086FB5080STL_string_dtor_wrapper_0086fb50SEH wrapper around STL string destructor at offset 4
0x0086FBA065STL_string_dtor_wrapper_0086fba0SEH wrapper around STL string destructor
0x0086FBF0129STL_vector_int_destroyDestroys int vector: frees buffer with large-block alignment check, zeroes triplet
0x0086FC905STL_vector_int_destroy_0086fc90Inline copy of STL_vector_int_destroy: frees int vector buffer with large-block alignment check, zeroes triplet. Not a thunk (full code, different SEH label).
0x0086FCA0220STL_vector_0x3c_elem_destroyDestroys vector of 0x3C byte elements, calls 2 string dtors per element then frees buffer
0x0086FD80159STL_vector_0x1c_elem_destroyDestroys vector of 0x1C byte elements, frees buffer with alignment check
0x0086FE30174STL_vector_destroy_CUIChatLog_entriesDestroys vector of 0xC-byte CUIChatLog entry elements by calling CUIChatLog__destroy_single_entry on each, then frees the backing buffer
0x00872120266std__map_int_string__insert_or_findstd::map<int, string>::operator[] - finds or inserts entry. Uses lower_bound to find position. If key not found, allocates 0x30-byte node with key at +0x10, initializes empty SSO string value, inserts via Insert_node. Returns pointer to value at node+0x14.
0x00872230269std__map_int_string__insert_or_find_v2std::map<int, string>::operator[] variant 2. Same as insert_or_find but with slightly different node layout (string at different offset). Allocates 0x30-byte node, inserts if key not present, returns value pointer.
0x0087234018std__function__call_targetstd::function call operator. Checks if target at this+0x24 is non-null; if so, calls the stored callable via vtable+8. Throws std::bad_function_call if target is null.
0x0089EB8090STL_vector__Change_array_0089eb80Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer.
0x0089EBE0162std__vector_reserve_4byte_elementsReserves capacity for a vector of 4-byte elements. Frees existing buffer (with aligned deallocation for large sizes), then allocates new buffer with requested capacity. Updates vector begin/end/capacity pointers.
0x0089EC9036std__vector_destroy_range_0xcSTL template instantiation: std vector destroy range 0xc
0x0089ECC0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x0089EED0517Insert_nodeRed-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation.
0x0089F0E0341std__any_swapSwaps two std::any objects. Handles the three cases: both have values (direct pointer swap), one or both have small-buffer-optimized values (uses vtable clone+destroy), or one is empty. Field [9] holds the contained value pointer.
0x0089F240129std__vector_clear_and_free_4byteClears and frees a vector of 4-byte elements. Handles aligned deallocation for large buffers (>= 0x1000 bytes). Sets all three vector pointers (begin, end, capacity) to null.
0x0089F2D0129std__vector_clear_and_free_4byte_bClears and frees a vector of 4-byte elements. Identical to std__vector_clear_and_free_4byte, duplicate from template instantiation.
0x0089F36064std__vector_copy_0x1c_elementsCopies elements of size 0x1c (28 bytes) from source range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the last written element. STL vector uninitialized copy helper.
0x0089F3A010thunk_to_std__Xlength_error_0089f3a0Wrapper that calls std::_Xlength_error for vector allocation failure
0x0089F3B010thunk_to_std__Xlength_error_0089f3b0Thunk that calls std::_Xlength_error with vector_too_long message
0x0089F3C010thunk_to_std__Xlength_error_0089f3c0Thunk that calls std::_Xlength_error with vector_too_long message
0x0089F3D010thunk_to_std__Xlength_error_0089f3d0Wrapper that calls std::_Xlength_error with vector_too_long message
0x0089F3E092std__vector_allocate_4byte_elementsAllocates memory for a vector of 4-byte elements. Validates count < 0x40000000, computes byte size (count*4). Uses aligned allocation for sizes >= 0x1000. Throws bad_array_new_length on overflow.
0x0089F44092std__vector_allocate_4byte_elements_bIdentical to std__vector_allocate_4byte_elements. Allocates memory for vector of 4-byte elements with aligned alloc for large sizes. Duplicate likely from template instantiation.
0x0089F4A095std__vector_allocate_20byte_elementsAllocates memory for a vector of 0x14 (20) byte elements. Validates count < 0xccccccd, computes byte size. Uses aligned allocation for large sizes.
0x0089F50095std__vector_allocate_48byte_elementsAllocates memory for a vector of 0x30 (48) byte elements. Validates count < 0x5555556, computes byte size. Uses aligned allocation for large sizes.
0x0089F56095std__vector_allocate_48byte_elements_bDuplicate of std__vector_allocate_48byte_elements. Allocates memory for vector of 0x30 byte elements.
0x008A0A0062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x008A0A4062deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x008A0A8067std__vector_deallocate_0x1c_elementsDeallocates memory for a vector of 0x1c (28) byte elements. Handles aligned deallocation for sizes >= 0x1000. Validates allocation alignment.
0x008A0AD061deallocateSTL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths.
0x008A136098std__list_erase_node_0x1d0Erases a node from a doubly-linked list. Unlinks param_3 by connecting its prev and next nodes. Decrements list count (field 4). Frees the node memory (0x1d0 bytes). Sets param_2 output to the next node.
0x008A13D067std__map_find_lower_boundFinds lower bound in an ordered map/tree. Uses CReportManager__map_lower_bound to find position, then checks if the result is valid and key matches. Sets param_2 to found node or to end sentinel (param_1[0]).
0x008A1420192STL_string_find_first_not_of_charsetFinds the first character in an STL string NOT in the given charset, starting from offset param_3. Builds a 256-byte lookup table from the null-terminated charset (param_2), then scans the string. Returns the index of the first non-matching char, or -1 if all chars match.
0x008A14E0192STL_string_find_first_of_charsetFinds the first character in an STL string that IS in the given charset, starting from offset param_3. Builds a 256-byte lookup table from the null-terminated charset (param_2), then scans the string. Returns the index of the first matching char, or -1 if none found.
0x008A185036std__max_pair_compareCompares two pairs by second element first (high word), then first element (low word). Returns the greater pair. Used for version/priority comparison. If param_1[1] <= param_2[1] and param_1[0] < param_2[0], returns param_2.
0x008A2290181std__list_push_back_0x1c8_elementPushes a new element (0x1c8 bytes of data + 8 bytes for list pointers = 0x1d0) to the back of a doubly-linked list. Allocates 0x1d0 bytes, copies 0x72 dwords (0x1c8 bytes) of data from param_2. Increments list count. Throws std::_Xlength_error if count reaches 0x8d3dcb (max elements for this list).
0x008A2350297STL_bitvector_fill_rangeFills a range of bits in an STL bitvector with a boolean value. Inserts 1 bit at position param_1[3], then fills from the inserted position for 1 bit with the value from param_2. Handles cross-word boundaries with proper masking.
0x008A28B0208STL_string_rtrim_charsRight-trims characters from an STL string. Builds a 256-byte lookup table from param_2 charset, then scans backwards from end of string removing matching chars via STL_string_erase.
0x008A335047std__string_compare_equalCompares two STL strings for equality. Extracts raw pointers from both strings (handling SSO) and calls std::_Traits_equal.
0x008A349031std__fill_range_4byte_bSTL template instantiation: std fill range 4byte b
0x008A474067STL_rbtree_node__delete_singleDeletes a single 0x2c-byte red-black tree node. Checks if the node pointer at offset +4 is non-null, frees it if so.
0x008A47F0125STL_vector_int__clear_and_freeClears and frees a vector of int-sized elements. Computes allocation size from (end - begin) & 0xFFFFFFFC, frees the backing buffer, then zeroes begin/end/capacity pointers.
0x008A488076STL_rbtree__destroy_nodes_and_sentinelDestroys all nodes in a red-black tree then frees the 0x2c-byte sentinel node. Calls CUIControl__destroy_tree_nodes_recursive on the root's left child, then operator_delete on the sentinel.
0x008A48E0113STL_rbtree_node__destroy_string_and_freeDestroys a single red-black tree node containing a string. If the node at offset +4 is non-null, destroys the embedded STL string then frees the 0x2c-byte node.
0x008A496078STL_rbtree_node__free_if_existsFrees a 0x2c-byte red-black tree node if the pointer at offset +4 is non-null.
0x008A49B0172STL_linked_list__destroy_all_nodesDestroys all nodes in a singly-linked list of 0x34-byte nodes. Zeroes the last-node back-pointer, walks the list from head, calling UIWindow__serialize_state and STL_string_dtor on each node, then frees each node. Finally frees the list header node.
0x008A4A6087STL_rbtree__destroy_and_free_sentinelDestroys all nodes in a red-black tree and frees the 0x2c-byte sentinel. Same as STL_rbtree__destroy_nodes_and_sentinel but with different SEH cookie setup.
0x008A4AC065STL_string_dtor_wrapper_008a4ac0Thin wrapper around STL_string_dtor. Destroys a single STL string member.
0x008A4B1080STL_string_pair_dtorDestroys a pair of STL strings. Calls STL_string_dtor on both the string at param_1 and the string at param_1+8.
0x008A5C6083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x008C3CD0320STL_vector__resize_and_fillSTL vector resize and fill. Resizes a vector of 4-byte elements to the given count, filling all entries with the provided value. If growing, allocates new memory (aligned for >0x1000 bytes) and frees old. If same size, fills in-place using optimized 4-element unrolled loop.
0x008C41A0116STL_set_uint_next_and_constructSTL std::set<uint> helper: increments a tree const_iterator and constructs a new element via UIWindow__apply_settings (now STL_tree_extract_and_rebalance). Destroys temporary string and frees 0x2c-byte allocation.
0x008C4220704STL_tree_extract_and_rebalanceSTL red-black tree extract/erase node with rebalancing. Removes a node from std::_Tree, fixes parent/child links, rebalances via left/right rotations and recoloring. Decrements tree size. MSVC std::_Tree_val::_Extract.
0x008C4560517STL_tree_insert_node_008c4560STL red-black tree insert node. MSVC std::_Tree_val::_Insert_node. Links new node to parent, sets as leftmost/rightmost if needed, then rebalances with rotations and recoloring. Increments tree size. Library function matching multiple _Tree_val specializations (uint, string, PCTableEntry).
0x008C477084STL_tree_right_rotateSTL red-black tree right rotation. Rotates param_2 right around its left child. Updates parent pointers and root if needed. MSVC _Lrotate counterpart.
0x008C485088STL_tree_left_rotateSTL red-black tree left rotation. Rotates param_2 left around its right child. Updates parent pointers and root if needed.
0x008C4930345STL_vector_of_vectors_of_strings_dtorDestroys a vector<vector<string_struct>>. Iterates outer vector, for each inner vector destroys all string elements via STL_string_dtor, frees the inner buffer, then frees the outer buffer. Sets all pointers to null.
0x008C4A90106STL_tree_lower_bound_by_stringSTL tree lower_bound by string comparison. Walks the red-black tree comparing string keys via std::_Traits_compare. Returns iterator to first element not less than the search key, or end() sentinel.
0x008C4B00133STL_string_is_all_digitsChecks if an STL string contains only ASCII digit characters ('0'-'9'). Returns 1 if all digits (or empty), 0 if any non-digit found. Destroys the string on exit.
0x008C4B9021STL_format_spec_wrapperThin wrapper that forwards 3 parameters to fmt__parse_and_validate_format_spec. 21 bytes.
0x008C4BB0171STL_construct_struct_with_move_stringConstructs a struct (0x2c bytes, 11 dwords) by copying fields from source, with move semantics on an embedded std::string at offset 0x08-0x1C. Zeros the source string after move. Initializes trailing vector fields (offset 0x20-0x28) to zero.
0x008C4C60141STL_construct_struct_with_cstring_copyConstructs a struct by copying two dword fields from source then computing strlen of a C string at source[2] and assigning it into an embedded std::string via STL_string_assign_buffer.
0x008C4CF0202STL_fnv1a_hash_combineFNV-1a hash combiner for a struct with a string + two 4-byte fields. Hashes the string content with FNV-1a (seed 0x811C9DC5, prime 0x01000193), then combines with hashes of two 4-byte prefix fields using boost::hash_combine-style mixing (golden ratio 0x9E3779B9).
0x008C4DC0440STL_vector_1c_byte_assign_rangeSTL vector<struct_1c>::assign from iterator range. If new range is smaller, overwrites existing elements and destroys excess via STL_string_dtor. If larger, may reallocate with 1.5x growth, then copy-constructs new elements. Element size is 0x1C bytes containing an embedded string.
0x008C4F80509STL_vector_0c_byte_assign_rangeSTL vector<struct_0c>::assign from iterator range. If new range fits, overwrites and destroys excess sub-vectors. If larger, may reallocate with 1.5x growth. Element size is 0x0C bytes (likely vector<T> = {begin, end, capacity}).
0x008C518034STL_uninitialized_copy_pod_aSTL uninitialized_copy for POD types. memcpy from [param_1, param_2) to param_3, returns pointer past last copied byte.
0x008C51B034STL_uninitialized_copy_pod_bSTL uninitialized_copy for POD types. memcpy from [param_1, param_2) to param_3, returns pointer past last copied byte. Duplicate of STL_uninitialized_copy_pod_a at different address.
0x008C51E034STL_uninitialized_copy_pod_cSTL uninitialized_copy for POD types. memcpy from [param_1, param_2) to param_3, returns pointer past last copied byte. Duplicate of STL_uninitialized_copy_pod_a at different address.
0x008C521083STL_copy_structs_with_string_fieldCopies an array of 0x1C-byte structs containing an embedded std::string (at dword offset +1). For each struct, copies the first dword field, then assigns the string via STL_string_assign_buffer. Returns destination pointer past last element.
0x008C527062STL_vector_of_vectors_assign_rangesAssigns ranges of 0x0C-byte sub-vectors. Iterates source range, for each element that differs from destination, calls STL_vector_1c_byte_assign_range to copy the inner vector contents.
0x008C52B0366STL_map_int_try_emplaceSTL std::map<int, vector<T>>::_Try_emplace. Searches tree by int key via lower_bound comparison. If key found, returns existing iterator. Otherwise allocates a 0x1C-byte tree node, initializes key and empty vector, inserts via STL_tree_insert_node. Returns pair<iterator, bool>.
0x008C5420343STL_vector_1c_byte_emplace_copySTL vector<struct_1c>::emplace with copy construction. Reallocates with 1.5x growth, copy-constructs the new element at the insertion point, then moves existing elements around it. Element size 0x1C bytes.
0x008C55B0346STL_vector_1c_byte_emplace_cstringSTL vector<struct_1c>::emplace with C-string construction. Reallocates with 1.5x growth, constructs new element from C-string args at insertion point, moves existing elements. Element size 0x1C bytes.
0x008C5740539STL_vector_30_byte_emplace_reallocateSTL vector<struct_0x30>::emplace_reallocate. Allocates new buffer with 1.5x growth (element size 0x30 = 48 bytes), copies 48-byte element at insertion point, then memcpy moves existing elements around it. Frees old buffer.
0x008C5970511STL_vector_0c_byte_emplace_reallocateSTL vector<struct_0x0c>::emplace_reallocate. Allocates new buffer with 1.5x growth (element size 0x0C = 12 bytes, likely a POD struct or small triple), copies 12-byte element at insertion point, then memcpy moves existing elements. Frees old buffer.
0x008C5B80452STL_vector_int_emplace_reallocateSTL vector<int>::emplace_reallocate (or vector<T*>). Allocates new buffer with 1.5x growth (4 bytes per element), copies single dword at insertion point, memcpy moves existing elements. Frees old buffer.
0x008C5D50343STL_vector_1c_byte_emplace_moveSTL vector<struct_1c>::emplace with move construction. Reallocates with 1.5x growth, move-constructs the new element at the insertion point via std__move_single_struct_with_string, then moves existing elements around it. Element size 0x1C bytes.
0x008C5EE0103STL_tree_destroy_nodes_recursiveSTL red-black tree recursive node destruction (post-order traversal). Recursively destroys right subtree first, then walks left children iteratively, freeing each 0x18-byte node via operator_delete. Stops at nil/sentinel node (is_nil flag at offset +0xD).
0x008C5F50131std__tree_recursive_destroy_nodesRecursively destroys nodes of a tree/map container. Iterates through linked nodes, freeing each 0x1c-byte node via operator delete after processing children.
0x008C5FE0158std__unordered_map_find_by_string_keySearches an unordered_map for an element matching a string key. Computes hash bucket, then iterates the bucket chain comparing strings using std::char_traits. Returns iterator with found node or end sentinel.
0x008C608075std__tree_lower_bound_by_intPerforms lower_bound search in a binary tree (std::map) by integer key. Traverses left/right based on comparison, returns iterator pointing to first element not less than the search key.
0x008C61D0218std__vector_reallocate_and_fillReallocates a std::vector buffer with 1.5x growth factor. Allocates new buffer, memset-fills new space with zeros, copies old data, then swaps to the new buffer. Caps at 0x7FFFFFFF.
0x008C62D0496std__unordered_map_emplace_elementEmplaces a new element into an unordered_map. Allocates a 0x34-byte node, handles rehashing when load factor exceeds threshold (ceil-based bucket count growth), and links the node into the appropriate hash bucket chain.
0x008C64D0137std__copy_struct_with_string_arrayCopies an array of 0x1c-byte structs (each containing a field + an std::string). Iterates from param_1 to param_2, copy-constructing each string field into the destination at param_3.
0x008C6560192std__move_struct_with_string_arrayMove-constructs an array of 0x1c-byte structs with embedded std::string. Transfers string data via move semantics (copies internal buffer, then clears source to empty SSO state).
0x008C662082std__copy_single_struct_with_stringCopy-constructs a single 0x1c-byte struct with an embedded std::string from param_3 into param_2. Copies the leading field and deep-copies the string.
0x008C668074std__construct_struct_with_cstringConstructs a struct with an embedded std::string from a C-string. Copies an integer field from param_3, then initializes the string by computing strlen of param_4 and assigning it.
0x008C66D0127std__move_single_struct_with_stringMove-constructs a single 0x1c-byte struct with embedded std::string. Copies fields then moves the string (transfers buffer, clears source to empty SSO state with capacity 0xF).
0x008C6750119std__vector_emplace_back_struct_cstrEmplace-back on a vector of 0x1c-byte structs from a C-string. If capacity available, constructs in-place (copies int field, assigns string via strlen). Otherwise calls reallocation helper.
0x008C67D097fill<>STL fill algorithm. Sets all elements in a range to a specified value.
0x008C6950393std__list_copy_construct_with_stringsCopy-constructs a std::list of nodes with string data. Allocates 0x20-byte nodes, copy-constructs the string in each, and links them into a circular doubly-linked list with a sentinel node.
0x008C6AE045std__max_longlong_signedReturns the maximum of two signed 64-bit integers (longlong). Compares high and low parts to determine the larger value.
0x008C6C40158std__vector_construct_fill_byteConstructs a std::vector<byte> filled with a single byte value. Allocates buffer of param_2 size, memsets with *param_3, and sets the size pointer. Throws on size > 0x7FFFFFFF.
0x008C6CE0188std__vector_copy_construct_structsCopy-constructs a vector of 0x1c-byte structs with embedded strings. Allocates space for (end-begin)/0x1c elements, then calls std__copy_struct_with_string_array to deep-copy them.
0x008C6DA0117std__init_two_empty_stringsInitializes a struct containing two std::string members to empty state (SSO buffer with length=0, capacity=0xF). Used as a default constructor for a pair-of-strings struct.
0x008CA0F0129STL_vector_free_4byte_8ca0f0Frees std::vector backing storage (4-byte aligned elements), zeros begin/end/capacity
0x008CA180151STL_vector_free_0x30_8ca180Frees std::vector backing storage (0x30-byte elements), zeros begin/end/capacity
0x008CA230150STL_vector_free_0xc_8ca230Frees std::vector backing storage (0xC-byte elements), zeros begin/end/capacity
0x008CBF40221std__unordered_map_clear_allClears all entries from an unordered_map. Iterates the linked list, destroying each 0x34-byte node's key string data, frees nodes, resets sentinel pointers, count to 0, and refills bucket array.
0x008CC02087std__destroy_two_stringsDestroys two consecutive std::string members in a struct. Calls STL_string_dtor twice.
0x008CC08083operator++Red-black tree iterator increment. Advances to the next in-order node.
0x00909D20204std__string_truncate_at_substrTruncates an std::string at the first occurrence of a given substring. Uses std::_Traits_find to locate param_2 within param_1, then replaces param_1's content with the substring from index 0 to the found position via STL_lib_func_00505300 (substr). No-op if substring is not found.
0x0090B450136std__vector_12byte_allocateAllocates memory for a vector of 12-byte elements. param_2 is the number of elements. Checks for overflow (max 0x15555555 elements). For small allocations (<0x1000 bytes), uses simple allocation. For larger ones, allocates with 0x23 byte overhead for alignment (32-byte aligned). Sets begin, end, and capacity pointers on the vector.
0x0090B4E0230std__vector_1c_byte_assign_bufferAssigns a new buffer to a vector of 0x1C-byte elements. First destroys existing elements (calling STL_string_dtor on each), frees old buffer, then sets new begin/end/capacity from provided buffer, size, and capacity parameters.
0x0090B5D093std__vector_1c_byte_destroy_rangeDestroys elements in a range of 0x1C-byte elements by calling STL_string_dtor on each. Iterates from param_1 to param_2 in 0x1C-byte increments.
0x0090B630724std__unordered_map_rehash_text_layoutRehashes an unordered_map to the specified bucket count. Rounds up to next power of 2, allocates new bucket array, relinks all nodes into new buckets using hash function FUN_008c4cf0. Handles duplicate key detection with string comparison (std::_Traits_equal) for collision resolution. Frees old bucket array after rehash.
0x0090B910517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a new node into a red-black tree, links it as left or right child, updates min/max pointers, then rebalances with rotations and recoloring.
0x0090BB20517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a new node into a red-black tree, links it as left or right child, updates min/max pointers, then rebalances with rotations and recoloring.
0x0090BD30207std__vector_1c_byte_clear_and_freeClears and frees a vector of 0x1C-byte elements. Destroys each element via STL_string_dtor, frees the buffer (with alignment support for large allocations), and zeros the begin/end/capacity pointers.
0x0090BE0058memcpy_elements_0x30Copies a range of 0x30-byte elements from param_1 to param_3 via memcpy. Returns pointer past the last copied element, computed as count * 0x30 + dest.
0x0090BE4055memcpy_elements_0x0cCopies a range of 0xC-byte elements from param_1 to param_3 via memcpy. Returns pointer past the last copied element, computed as count * 0xC + dest.
0x0090BE8010thunk_to_std__Xlength_error_0090be80Throws vector_too_long exception; never returns
0x0090BE9010thunk_to_std__Xlength_error_0090be90Throws std::length_error for vector allocation failure
0x0090BEA010thunk_to_std__Xlength_error_0090bea0Calls std::_Xlength_error with vector_too_long error message
0x0090BEB010thunk_to_std__Xlength_error_0090beb0Thunk that calls std::_Xlength_error with vector_too_long error
0x0090BEC010thunk_to_std__Xlength_error_0090bec0Thunk that calls std::_Xlength_error with vector_too_long message
0x0090BED0102std__vector_1c_byte_allocateAllocates memory for a count of 0x1C-byte elements. Returns the allocated buffer pointer. Handles alignment for large allocations (>= 0x1000 bytes) with 32-byte alignment. Max element count: 0x924924A.
0x0090BFF046std__vector_0x18_clear_elementsClears all elements from a vector of 0x18-byte elements by calling STL_string_dtor on each, then resets the end pointer to begin. Does not free the buffer.
0x0090C1F062deallocateSTL allocator::deallocate for 4-byte elements. Computes total size, retrieves original allocation pointer for large blocks, then calls operator delete.
0x0090C23061deallocateSTL allocator::deallocate for 0x30-byte elements. Computes total size, retrieves original allocation pointer for large blocks, then calls operator delete.
0x0090C27067std__vector_1c_byte_free_bufferFrees the buffer of a vector of 0x1C-byte elements. Computes total byte size and handles aligned deallocation for large buffers (>= 0x1000 bytes).
0x0090C2C061deallocateSTL allocator::deallocate for 0xC-byte elements. Computes total size, retrieves original allocation pointer for large blocks, then calls operator delete.
0x0090C30067std__tree_find_by_int_keyFinds a node in a BST by integer key. Uses std__tree_lower_bound_by_int to locate the position, then checks if the node exists and its key matches. Returns the found node or the end sentinel.
0x0090C3E0170std__list_push_back_stringPushes a string onto the back of an std::list. Allocates a 0x20-byte node, copy-constructs the string into it, and links it before the sentinel node. Increments list size. Throws std::length_error if max size (0x7FFFFFF) is reached.
0x0090C49039std__vector_4byte_push_back_v1Pushes a 4-byte value onto the back of a vector. If capacity is available, writes directly and increments end pointer. Otherwise calls STL_vector_4byte_insert_realloc to grow the vector.
0x0090C4C039std__vector_4byte_push_back_v2Pushes a 4-byte value onto the back of a vector. If capacity is available, writes directly and increments end pointer. Otherwise calls STL_vector_insert_single_4byte_005b71c0 to grow.
0x0090C4F0169std__vector_1c_byte_push_back_moveMove-pushes a 0x1C-byte element (containing a string at offset +1) onto the back of a vector. If capacity is available, copies the 7 dwords directly and moves the string (stealing its internal buffer). Otherwise calls FUN_008c5d50 to grow and insert.
0x0090DF40461std__list_assign_rangeAssigns a range of elements from another list to this list. If source has more elements, appends new nodes. If source has fewer, removes excess nodes. If same count, copies values in place. Each node contains a data pointer at offset +8 (dword at index 2).
0x0090E110427std__vector_8byte_assign_rangeAssigns a range of 8-byte elements to a vector. If new size fits in existing capacity, copies directly and truncates. If new size exceeds capacity, frees old buffer, allocates new one with 1.5x growth factor, copies old elements and appends new ones.
0x0090E2C034memcpy_elements_rawCopies a range of raw bytes from param_1 to param_3 via memcpy. Returns pointer past the last copied byte.
0x0090E2F0238std__tree_copy_nodes_0x18Recursively copies BST nodes (0x18 bytes each). Creates new nodes with key data from source, links them to parent, copies color flag, then recursively copies left and right subtrees.
0x0090E400241std__tree_copy_nodes_0x58Recursively copies BST nodes (0x58 bytes each). Allocates new 0x58-byte nodes, calls FUN_009102e0 to copy payload data from source, links to parent, copies color flag, then recursively copies left and right subtrees.
0x0090E510250std__tree_copy_nodes_0x24Recursively copies BST nodes (0x24 bytes each). Creates new nodes with 5 dwords of key/data from source (at offsets +0x10 through +0x20), links to parent, copies color flag, then recursively copies left and right subtrees.
0x0090E630420std__map_string_key_find_or_insertFinds or inserts an element in a std::map with string keys. Searches the BST using std::_Traits_compare for string comparison. If found, returns existing node. If not found, allocates a 100-byte node, copy-constructs the string key and calls FUN_00910a70 to initialize additional data, then inserts via Insert_node. Returns a pair of (node, inserted_flag).
0x0090E7E0330std__vector_0x18_insert_reallocInserts a single 0x18-byte element into a vector at the given position, reallocating with 1.5x growth. Copies the new element via string copy-construct, moves existing elements around the insertion point, then replaces the vector buffer.
0x0090E960452std__vector_4byte_insert_realloc_v2Inserts a single 4-byte element into a vector at given position with reallocation (1.5x growth). Allocates new buffer, copies element, memcpys ranges before and after insertion point, frees old buffer.
0x0090EB30598std__vector_0x3c_insert_reallocInserts a single 0x3C-byte element into a vector with reallocation (1.5x growth factor, max 0x4444444 elements). Uses FUN_0090fcc0 to construct element and FUN_0090fb80 to move existing elements.
0x0090ED90452std__vector_4byte_insert_realloc_v3Another variant of 4-byte vector insert with reallocation (1.5x growth). Nearly identical to v2 but uses STL_vector_throw_length_error_005b8c50 for error reporting.
0x0090EF60492std__vector_0x1c_insert_reallocInserts a single 0x1C-byte element into a vector with reallocation (1.5x growth, max 0x9249249 elements). Uses FUN_0090fd40 to construct and FUN_0090fc00 to move elements.
0x0090F180118std__tree_destroy_nodes_0x18Destroys all nodes in a BST with 0x18-byte nodes. Recursively deletes right subtrees via FUN_0090f2f0, then frees each node. Finally frees the sentinel node.
0x0090F200118std__tree_destroy_nodes_0x24Destroys all nodes in a BST with 0x24-byte nodes. Recursively deletes right subtrees via FUN_0090f520, then frees each node. Finally frees the sentinel node.
0x0090F280103std__tree_delete_subtree_0x18_v1Recursively deletes a subtree of 0x18-byte BST nodes. Processes right child first (recursion), then frees current node and moves to left child.
0x0090F2F0103std__tree_delete_subtree_0x18_v2Recursively deletes a subtree of 0x18-byte BST nodes (identical pattern to v1). Processes right child first, frees current node, moves to left child.
0x0090F360160std__tree_delete_subtree_0x4c_with_stringsRecursively deletes a subtree of 0x4C-byte BST nodes that contain two std::string members. Destroys both strings before freeing each node.
0x0090F400141std__tree_delete_subtree_0x58_with_stringRecursively deletes subtree of 0x58-byte BST nodes, destroying one std::string member per node.
0x0090F490131std__tree_delete_subtree_0x20_with_vectorRecursively deletes subtree of 0x20-byte BST nodes, destroying a vector of 0x1C-byte elements per node.
0x0090F520103std__tree_delete_subtree_0x24Recursively deletes subtree of 0x24-byte BST nodes (plain data, no destructors needed).
0x0090F590153std__tree_delete_subtree_0x64_with_stringsRecursively deletes subtree of 100-byte (0x64) BST nodes, destroying two std::string members per node.
0x0090F630128std__tree_delete_subtree_0x30_with_stringRecursively deletes subtree of 0x30-byte BST nodes, destroying one std::string member per node.
0x0090F6B0144std__tree_delete_subtree_0x34_with_fmtRecursively deletes subtree of 0x34-byte BST nodes, calling CFmt__func_0058c230 and STL_string_dtor to clean up each node.
0x0090F740103std__tree_delete_subtree_0x18_v3Recursively deletes subtree of 0x18-byte BST nodes (plain data, no destructors).
0x0090F7B0141std__tree_delete_subtree_0x58_with_string_v2Recursively deletes subtree of 0x58-byte BST nodes, destroying one std::string member per node (variant 2).
0x0090F840103std__tree_delete_subtree_0x24_v2Recursively deletes subtree of 0x24-byte BST nodes (plain data, no destructors, variant 2).
0x0090F8D075std__map_int__lower_bound_astd::map<int,...> lower_bound implementation. Traverses red-black tree comparing int keys. Returns iterator pointing to first element not less than key.
0x0090F92075std__map_int__lower_bound_bstd::map<int,...> lower_bound implementation (variant b). Traverses red-black tree comparing int keys. Returns iterator pointing to first element not less than key. Identical logic to lower_bound_a.
0x0090F97075std__map_int__lower_bound_cstd::map<int,...> lower_bound implementation (variant c). Traverses red-black tree comparing int keys. Returns iterator pointing to first element not less than key. Identical logic to lower_bound_a.
0x0090F9C0129std__map_string__lower_bound_astd::map<string,...> lower_bound implementation. Traverses red-black tree comparing string keys via std::_Traits_compare. Returns iterator to first element not less than key.
0x0090FA50129std__map_string__lower_bound_bstd::map<string,...> lower_bound implementation (variant b). Traverses red-black tree comparing string keys via std::_Traits_compare. Returns iterator to first element not less than key. Identical logic to lower_bound_a.
0x0090FAE0128linked_list__destroy_all_nodesDestroys all nodes in a linked list. Iterates through list, calls helper cleanup function and STL_string_dtor on each 0x5c-byte node, then frees memory.
0x0090FB6028std__list__is_empty_checkChecks if a list/container is empty. Returns 1 if *param_1 == 0 (empty), 0 otherwise.
0x0090FB80123std__vector__move_construct_elements_60Move-constructs a range of 0x3C-byte elements (tooltip entries) from source to destination. Iterates from param_1 to param_2 in 0x3C steps, calling tooltip_entry__move_construct_full for each. Returns pointer past the last constructed element.
0x0090FC00191std__vector__move_elements_28byteMove-constructs elements from one array to another. Elements are 28 bytes (7 ints) containing 4 ints + an SSO string (moved) + 1 int. Source strings are reset to empty after move.
0x0090FDD0134std__map__erase_node_and_advanceErases a node from std::map and advances iterator. Increments iterator, extracts and rebalances the tree node, destroys the node's string data, and frees the 0x58-byte node.
0x0090FE6036linked_list__find_by_field_8Linear search through a linked list for a node whose field at offset 8 matches the search value. Returns pointer to matching node or end sentinel.
0x0090FE9036linked_list__find_by_field_8_bLinear search through a linked list for a node whose field at offset 8 matches the search value. Returns pointer to matching node or end sentinel. Identical logic to linked_list__find_by_field_8.
0x0090FEC039linked_list__find_by_field_338Linear search through a linked list for a node whose field at offset 0x338 (index 0xCE) matches the search value. Returns pointer to matching node or end sentinel.
0x0090FEF0297std__map_int__insert_or_find_with_dataInserts or finds entry in std::map<int, data>. If key exists, returns existing node. Otherwise allocates 0x20-byte node, copies key and data (3 ints from param_3+4/8/12 with move semantics), inserts into tree.
0x00910020105std__map__init_sentinel_24Initializes a std::map with 24-byte sentinel node. Allocates 0x18 bytes, sets up self-referential sentinel node (left/right/parent point to self), marks as header (0xc = 0x101).
0x00910090234std__map__copy_construct_24Copy-constructs a std::map with 0x18-byte (24-byte) nodes. Allocates sentinel, copies tree structure via std__tree_copy_nodes_0x18, sets size, then finds and caches leftmost and rightmost nodes.
0x00910180105std__map__init_sentinel_76Initializes a std::map with 0x4C-byte (76-byte) sentinel node. Allocates node, sets up self-referential left/right/parent pointers, marks as header (0xc = 0x101).
0x009101F0234std__map__copy_construct_88Copy-constructs a std::map with 0x58-byte nodes. Allocates sentinel, copies tree structure via std__tree_copy_nodes_0x58, sets size, then finds and caches leftmost and rightmost nodes.
0x00910380250std__vector_28byte__copy_constructCopy-constructs a std::vector of 28-byte elements. Each element contains an SSO string (24 bytes) + 1 int. Allocates target, iterates source copying strings and trailing int.
0x00910BE085std__string_wrapper__default_ctorDefault-constructs a struct with a leading int field (set to 0) followed by an inline SSO string (capacity 0xf) initialized to empty.
0x0091254067heap_free_0x5c_at_offset4Frees a 0x5c-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x0091259067heap_free_0x18_at_offset4Frees a 0x18-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x009125E070heap_free_0x340_at_offset4Frees a 0x340-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x0091263067heap_free_0x18_at_offset4_bFrees a 0x18-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. Duplicate of 00912590 at different address.
0x0091268067heap_free_0x18_at_offset4_cFrees a 0x18-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. Third instance of 0x18-byte free pattern.
0x009126D067heap_free_0x4c_at_offset4Frees a 0x4c-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x0091272067heap_free_0x58_at_offset4Frees a 0x58-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x0091277067heap_free_0x20_at_offset4Frees a 0x20-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x009127C067heap_free_0x24_at_offset4Frees a 0x24-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x0091281067heap_free_0x64_at_offset4Frees a 0x64 (100)-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x0091286067heap_free_0x30_at_offset4Frees a 0x30-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x009128B067heap_free_0x34_at_offset4Frees a 0x34-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f.
0x0091299078heap_free_0x18_at_offset4_dFrees a 0x18-byte heap allocation stored at this+4, if non-null. Fourth instance of this pattern at a different address.
0x00912A60111std__tree_destroy_0x18_nodesDestroys a std::tree (red-black tree) by traversing all 0x18-byte nodes. Iterates through linked nodes, recursively deletes subtrees via std__tree_delete_subtree_0x18_v1, then frees each node. Finally frees the sentinel/header node.
0x00912AF076std__tree_destroy_0x4c_rootDestroys a std::tree root with 0x4c-byte nodes containing strings. Calls std__tree_delete_subtree_0x4c_with_strings to recursively destroy the tree, then frees the 0x4c-byte root/sentinel node.
0x00912B5076std__tree_destroy_0x58_rootDestroys a std::tree root with 0x58-byte nodes containing strings. Recursively deletes subtree then frees sentinel node.
0x00912BB076std__tree_destroy_0x20_rootDestroys a std::tree root with 0x20-byte nodes containing vectors. Recursively deletes subtree then frees sentinel node.
0x00912C107thunk_to_std__tree_destroy_nodes_0x24Thunk forwarding to std__tree_destroy_nodes_0x24 (at 0090f200). Destroys a std::tree with 0x24-byte nodes.
0x00912C2076std__tree_destroy_0x64_rootDestroys a std::tree root with 0x64-byte nodes containing strings. Recursively deletes subtree then frees sentinel node.
0x00912C8076std__tree_destroy_0x30_rootDestroys a std::tree root with 0x30-byte nodes containing strings. Recursively deletes subtree then frees sentinel node.
0x00912CE076std__tree_destroy_0x34_rootDestroys a std::tree root with 0x34-byte nodes containing CFmt data. Recursively deletes subtree then frees sentinel node.
0x00912D6084std__tree_destroy_0x58_indirectDestroys a std::tree with 0x58-byte nodes via an indirect pointer at this+4. Null-checks the indirect pointer before destroying. Used when tree root is stored via indirection.
0x00912DE078heap_free_0x18_at_offset4_eFrees a 0x18-byte heap allocation stored at this+4, if non-null. Fifth instance of this pattern.
0x00912E3078heap_free_0x18_at_offset4_fFrees a 0x18-byte heap allocation stored at this+4, if non-null. Sixth instance of this pattern.
0x0091343090std__vector_destroy_elements_stride_0x3cIterates through STL vector elements (stride 0x3C) and destroys STL strings in each element.
0x0091349090std__vector_destroy_elements_stride_0x1cIterates through STL vector elements (stride 0x1C) and destroys STL strings in each element.
0x0091354073linked_list__destroy_and_free_0x5cDestroys all nodes in a linked list and frees 0x5C bytes per node via operator delete.
0x00913590127linked_list__destroy_all_and_free_0x340Walks a linked list of large (0x340 byte) nodes, calls cleanup on each, frees each node, then frees the head.
0x0091362065std__tree_destroy_0x18_wrapperWrapper that calls std::tree destroy for nodes of size 0x18. Destroys the red-black tree structure.
0x00913B20129std__vector_ptr__clear_and_freeClears and frees memory for a vector of pointers (4-byte elements). Validates heap block alignment before freeing. Zeros out begin/end/capacity pointers.
0x00913BB0204std__vector_3c__clear_and_freeClears and frees a vector of 0x3C-byte elements. Iterates through elements calling STL_string_dtor on each, then frees the backing array. Zeros out begin/end/capacity pointers.
0x00914B30263std__map_int__find_or_insert_18std::map<int,...>::operator[] equivalent. Searches the red-black tree for a node with the given int key. If not found, allocates a new 0x18-byte node, inserts it, and returns pointer to the value (offset +0x14). Aborts if at max capacity (0xAAAAAAA entries).
0x00914C40239std__map_int_4c__find_or_insertstd::map<int,...>::operator[] for a map with 0x4C-byte value nodes. Searches tree via FUN_0090f8d0 (lower_bound), allocates and inserts 0x4C-byte nodes via FUN_0090dea0 if key not found. Returns pointer to value (offset +0x14).
0x00914D30272std__map_int_58__find_or_insertstd::map<int,...>::operator[] for a map with 0x58-byte value nodes. Searches via FUN_0090f920 (lower_bound), allocates and inserts new node with memset-zeroed value containing an embedded STL string if key not found. Returns pointer to value.
0x00914E50276std__map_string__find_or_insert_30std::map<string,...>::operator[] for 0x30-byte nodes. Searches via FUN_0090f9c0 using string comparison (_Traits_compare). Allocates and inserts new node with copy-constructed string key if not found. Max capacity 0x5555555. Returns pointer to value at offset +0x28.
0x00914F70308std__map_string__find_or_insert_34std::map<string, vector>::operator[] for 0x34-byte nodes. Searches via FUN_0090fa50 using string comparison. Allocates node with copy-constructed string key and zeroed 3-dword vector. Max capacity 0x4EC4EC4. Returns pointer to value at offset +0x28.
0x009150B083operator++STL _Tree_unchecked_const_iterator::operator++ for std::set/map<unsigned int>. Advances iterator to next in-order node in the red-black tree. VS2019 library function.
0x0091511083operator++STL _Tree_unchecked_const_iterator::operator++ for std::set/map<unsigned int>. Advances iterator to next in-order node in the red-black tree. VS2019 library function.
0x0091517083operator++STL _Tree_unchecked_const_iterator::operator++ for std::set/map<unsigned int>. Advances iterator to next in-order node in the red-black tree. VS2019 library function.
0x00941B7092std__vector_destroy_elements_0x3cDestroys vector elements of size 0x3C (60 bytes) each. Iterates from param_1 to param_2, calling STL_string_dtor on each element to clean up strings within the structs.
0x00941BD092std__vector_destroy_elements_0x1cDestroys vector elements of size 0x1C (28 bytes) each. Iterates from param_1 to param_2, calling STL_string_dtor on each element to clean up strings within the structs.
0x00941C30704STL_rbtree_extract_and_rebalanceRed-black tree node extraction with rebalancing; adjusts parent/child links and colors after removal
0x00941F20517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00942130517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00942340517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00942550517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00942760517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00942970517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00942B80517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00942D90517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00942FA084STL_rbtree_rotate_left_00942fa0Red-black tree LEFT rotation: right child replaces this node as parent, this node becomes left child. Right child's left subtree becomes this node's right subtree. (Was mislabeled as rotate_right)
0x0094300088STL_rbtree_rotate_right_00943000Red-black tree RIGHT rotation: left child replaces this node as parent, this node becomes right child. Left child's right subtree becomes this node's left subtree. (Was mislabeled as rotate_left)
0x00943060206STL_vector_destroy_and_free_0x1cDestroys vector of 0x1c-byte elements containing strings, then frees backing buffer
0x0094313010STL_vector_throw_length_error_00943130Throws std::length_error("vector too long") for vector overflow
0x0094314010STL_vector_throw_length_error_00943140Throws std::length_error("vector too long") for vector overflow
0x0094315010STL_vector_throw_length_error_00943150Throws std::length_error("vector too long") for vector overflow
0x00943160102STL_vector_allocate_0x1c_elementsAllocates aligned memory for vector of 0x1c-byte elements; handles large allocation alignment
0x00943240115STL_map_clear_with_string_valuesClears a std::map by destroying string values in each 0x18-byte node, then resets head pointer
0x009432C033STL_map_clear_nodesClears std::map by recursively freeing all nodes and resetting head/size to empty state
0x009432F0132STL_vector_clear_0x3c_elementsClears vector of 0x3c-byte elements by destroying string members, resets size to begin
0x00943380167STL_vector_clear_0x158_elementsClears vector of 0x158-byte elements by destroying two string members per element
0x0094343062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x0094347064STL_vector_free_buffer_0x3cFrees aligned vector buffer for 0x3c-byte elements; handles large allocation pointer fixup
0x009434C067STL_vector_free_buffer_0x1cFrees aligned vector buffer for 0x1c-byte elements; handles large allocation pointer fixup
0x00943520109STL_list_erase_node_0x340Erases a node from doubly-linked list, frees 0x340-byte node, decrements count
0x009435A067STL_map_lower_bound_uintReturns lower_bound iterator for uint key in std::map; returns end if key not found
0x009436A0170STL_list_push_back_0x5cAppends new 0x5c-byte node to back of doubly-linked list; throws if list too long
0x00943750173STL_list_push_back_0x340Appends new 0x340-byte node to back of doubly-linked list; throws if list too long
0x0094380039STL_vector_push_back_uintPushes uint value to back of vector; calls reallocate if at capacity
0x0094628034memcpy_range_to_dest_00946280Copies memory range [param_1, param_2) to param_3; returns dest + bytes copied
0x009462B0123STL_vector_clear_map_entry_elementsClears vector of 0x1c-byte map entries; destroys string in each element and resets fields
0x00946330291STL_vector_insert_0x20_elementInserts one 0x20-byte (32-byte) element into vector at given position with reallocation
0x00946470585STL_vector_insert_0x1c_elementInserts one 0x1c-byte element into vector with grow factor 1.5x; handles aligned allocation
0x009466C0103STL_rbtree_destroy_nodes_0x18Recursively destroys red-black tree nodes (0x18 bytes each) in post-order traversal
0x0094673075STL_map_find_lower_bound_intFinds lower_bound position in std::map<int,...> for insertion; returns iterator with insert hint
0x0094678091STL_vector_construct_map_entryCopy-constructs a map entry element at given offset; copies string + 4-byte field at +0x18
0x00947390111STL_rbtree_destroy_and_free_sentinelDestroys all nodes in rbtree including sentinel; frees 0x18-byte nodes recursively then sentinel
0x0094743065STL_rbtree_destroy_wrapperWrapper that calls STL_rbtree_destroy_and_free_sentinel with SEH frame setup
0x00947480174STL_vector_destroy_map_entriesDestroys vector of 0x1c-byte map entry elements, frees backing buffer, resets pointers to null
0x00947540129STL_vector_free_buffer_0x20Frees vector buffer for 0x20-byte (32-byte) elements; handles aligned allocation pointer fixup
0x009515E094std__vector_0x20__replace_bufferReplaces the internal buffer of a std::vector with 0x20-byte elements. Frees the old buffer (with aligned allocation support for >0xfff), then sets begin=param_2, end=param_2+param_3*0x20, capacity=param_2+param_4*0x20.
0x0095164022std__vector__clear_entries_thunkThunk that calls STL_vector_clear_map_entry_elements with reordered params. Simple wrapper for vector element cleanup.
0x00951670136std__vector_0x20__grow_and_copyGrows a std::vector of 0x20-byte elements. Allocates a new buffer via FUN_009518a0 with the requested capacity, memcpy's existing data, then replaces the old buffer via std__vector_0x20__replace_buffer.
0x00951720164std__vector_0x1c__copy_range_with_stringsCopies a range of 0x1c-byte elements (containing SSO strings + a 4-byte field at offset 0x18) from [param_2, param_3) to destination param_4. Uses STL_string_copy_construct for each element's string, copies the extra field directly. Returns pointer past the last written element.
0x009517D0162std__vector_0x1c__copy_range_with_strings_bCopies a range of 0x1c-byte elements (containing SSO strings + a 4-byte field at offset 0x18) from [param_2, param_3) to destination param_4. Same as std__vector_0x1c__copy_range_with_strings but returns void instead of end pointer.
0x0095188010thunk_to_std__Xlength_error_00951880Thunk that calls std::_Xlength_error with vector_too_long message
0x0095189010thunk_to_std__Xlength_error_00951890Throws std::length_error exception for vector overflow
0x009518A092std__allocate_aligned_0x20_arrayAllocates an aligned array of 0x20-byte elements. For small allocations (<0x1000 bytes), does a simple heap alloc. For large ones, allocates extra 0x23 bytes, aligns to 0x20 boundary, and stores the original pointer at aligned-4 for later freeing. Throws bad_array_new_length if count >= 0x8000000.
0x00951900133std__vector_0x74__clear_with_string_dtorClears a std::vector of 0x74-byte elements, each containing a string that needs destruction. Iterates from begin to end, calling STL_string_dtor on each element, then resets end=begin. Element stride is 0x74 bytes.
0x0095199067std__deallocate_aligned_0x1c_arrayDeallocates an aligned array of 0x1c-byte elements. For allocations >= 0x1000 bytes, recovers the original unaligned pointer from ptr[-4] and adds 0x23 for the original size. Then frees via FUN_00e6227f.
0x009519E058std__deallocate_aligned_0x20_arrayDeallocates an aligned array of 0x20-byte elements. Same pattern as std__deallocate_aligned_0x1c_array but with 0x20-byte element size.
0x00951D60746std__list_0x80__assign_rangeAssigns a range [param_2, param_3) of linked list nodes to a std::list of 0x80-byte elements (containing 3 SSO strings at offsets 4, 0xf, 0x16 plus scalar fields). Overwrites existing nodes when possible, removes excess nodes (destroying 3 strings each), or appends new nodes as needed via FUN_00953640.
0x00952050701std__list_0x38__assign_rangeAssigns a range [param_2, param_3) of linked list nodes to a std::list of 0x38-byte elements (containing 1 SSO string at offset 4 plus scalar fields at offsets 2-3 and 10-0xd). Overwrites existing nodes, removes excess (destroying 1 string each), or appends new 0x38-byte nodes.
0x00952310240std__tree_0x44__deep_copy_nodeRecursively deep-copies a std::tree node (red-black tree) with 0x44-byte nodes. Allocates new node via FUN_00e6224f(0x44), copies data via FUN_009535b0 (which copies a string), sets up left/right/parent pointers and color. Recursively copies left child (*param_2) and right child (param_2[2]).
0x00952420236std__tree_0x20__deep_copy_nodeRecursively deep-copies a std::tree node with 0x20-byte nodes. Allocates new node via FUN_00e6224f(0x20), copies 16 bytes of data (4 DWORDs at offsets 4-7), sets up tree pointers and color. Recursively copies left and right subtrees.
0x00952530144std__tree_0x44__recursive_destroyRecursively destroys a std::tree with 0x44-byte nodes containing strings. Traverses in-order: recursively destroys right subtree, saves left child pointer, destroys the string via STL_string_dtor, frees the 0x44-byte node, then continues with left child.
0x009525C0103std__tree_0x20__recursive_destroyRecursively destroys a std::tree with 0x20-byte nodes (no strings to destroy). Traverses in-order: recursively destroys right subtree, saves left child, frees 0x20-byte node, continues with left child.
0x00952630103std__tree_0x18__recursive_destroyRecursively destroys a std::tree with 0x18-byte nodes (no strings). Traverses in-order: recursively destroys right subtree, saves left child, frees 0x18-byte node, continues with left child.
0x009526A0144std__tree_0x44__recursive_destroy_bRecursively destroys a std::tree with 0x44-byte nodes containing strings. Same as std__tree_0x44__recursive_destroy but at a different call site.
0x00952730103std__tree_0x20__recursive_destroy_bRecursively destroys a std::tree with 0x20-byte nodes. Same as std__tree_0x20__recursive_destroy but at a different call site.
0x009527A0222std__list__merge_sort_by_field_0x74_ascMerge sort for a doubly-linked list, comparing elements by integer field at offset 0x74 (ascending). Recursive divide-and-conquer: splits list in half, sorts each half, then merges by comparing node[0x1d] values. Modifies list in-place by relinking prev/next pointers.
0x00952880222std__list__merge_sort_by_field_0x74_descMerge sort for a doubly-linked list, comparing elements by integer field at offset 0x74 (descending). Same algorithm as ascending variant but with reversed comparison.
0x00952960385std__list__merge_sort_by_wstring_0x30_ascMerge sort for a doubly-linked list, comparing elements by wide string at offset 0x30 (ascending). Converts strings via FUN_00dde5c0 then uses compare_strings_as_wide_chars for comparison.
0x00952AF0385std__list__merge_sort_by_wstring_0x30_descMerge sort for a doubly-linked list, comparing elements by wide string at offset 0x30 (descending). Same as ascending variant but reversed comparison.
0x00952C80222std__list__merge_sort_by_field_0x54_ascMerge sort for a doubly-linked list, comparing elements by integer field at offset 0x54 (ascending). Same merge sort algorithm as field_0x74 variant but uses different comparison offset.
0x00952D60222std__list__merge_sort_by_field_0x54_descMerge sort for a doubly-linked list, comparing elements by integer field at offset 0x54 (descending).
0x00952E40362std__list__merge_sort_by_string_field4_ascMerge sort for a doubly-linked list, comparing elements by SSO string at offset 4 (ascending). Reads SSO string (checks capacity at offset 9), converts via compare_strings_as_wide_chars for wide string comparison.
0x00952FB0362std__list__merge_sort_by_string_field4_descMerge sort for a doubly-linked list, comparing elements by SSO string at offset 4 (descending). Same as ascending variant but reversed comparison.
0x00953120222std__list__merge_sort_by_field_0x78_descMerge sort for linked list by integer field at offset 0x78 (descending).
0x00953200222std__list__merge_sort_by_field_0x38_ascMerge sort for linked list by integer field at offset 0x38 (ascending).
0x009532E0222std__list__merge_sort_by_field_0x38_descMerge sort for linked list by integer field at offset 0x38 (descending).
0x009533C0250std__list__merge_sort_by_float_0x70_ascMerge sort for linked list by float field at offset 0x70 (ascending). Uses float comparison instead of integer.
0x009534C0234std__list__merge_sort_by_float_0x70_descMerge sort for linked list by float field at offset 0x70 (descending). Uses float comparison.
0x0095418070heap_free_0x80_at_offset4Frees a 0x80-byte heap allocation stored at this+4, if non-null.
0x009541D067heap_free_0x38_at_offset4Frees a 0x38-byte heap allocation stored at this+4, if non-null.
0x0095422067heap_free_0x44_at_offset4Frees a 0x44-byte heap allocation stored at this+4, if non-null.
0x0095427067heap_free_0x20_at_offset4_bFrees a 0x20-byte heap allocation stored at this+4, if non-null.
0x009542C067heap_free_0x18_at_offset4_gFrees a 0x18-byte heap allocation stored at this+4, if non-null.
0x00954310158linked_list_0x80__destroy_all_nodesDestroys all nodes in a linked list of 0x80-byte elements. Each node contains 3 strings that are destroyed via STL_string_dtor. Unlinks the list, traverses all nodes, destroys strings and frees each 0x80-byte node.
0x009543B0126linked_list_0x38__destroy_all_nodesDestroys all nodes in a linked list of 0x38-byte elements. Each node contains 1 string destroyed via STL_string_dtor. Unlinks the list, traverses all nodes, destroys string and frees each 0x38-byte node.
0x0095443076std__tree_destroy_0x44_root_bDestroys a std::tree with 0x44-byte nodes containing strings. Calls std__tree_0x44__recursive_destroy then frees root node.
0x00954490111std__tree_destroy_0x20_all_nodesDestroys all nodes in a std::tree with 0x20-byte nodes. Iterates through nodes, recursively destroys subtrees, frees each node, then frees the sentinel.
0x00954510111std__tree_destroy_0x18_all_nodesDestroys all nodes in a std::tree with 0x18-byte nodes. Iterates through nodes, recursively destroys subtrees, frees each node, then frees the sentinel.
0x0095461078heap_free_0x20_at_offset4_cFrees a 0x20-byte heap allocation stored at this+4, if non-null.
0x0095466078heap_free_0x18_at_offset4_hFrees a 0x18-byte heap allocation stored at this+4, if non-null.
0x009546B078heap_free_0x44_at_offset4_bFrees a 0x44-byte heap allocation stored at this+4, if non-null.
0x00955310133STL_map_assign_fromAssignment operator for std::map; clears existing tree and copies from source tree with iterators
0x009554A0320std__map_int_to_entry_0x44__bracket_operatorstd::map::operator[] for map<int, struct_0x30>. Searches the red-black tree for the given key. If not found, allocates a 0x44-byte node, initializes the 0x30-byte value with zeros and inserts it. Returns pointer to the value.
0x009555F0275std__map_int_to_entry_0x20__bracket_operatorstd::map::operator[] for map<int, struct_0x0C>. Searches the red-black tree for the given key. If not found, allocates a 0x20-byte node, initializes the 0x0C-byte value with zeros and inserts it. Returns pointer to the value.
0x00955710263std__map_int_to_entry_0x18__bracket_operatorstd::map::operator[] for map<int, int>. Searches the red-black tree for the given key. If not found, allocates a 0x18-byte node, initializes the value to 0 and inserts it. Returns pointer to the value.
0x00965730134std__vector_8byte__reserveReserves memory for a std::vector of 8-byte elements. Allocates count*8 bytes, handles alignment for large allocations (>0x1000 bytes, 32-byte aligned). Throws bad_array_new_length if count >= 0x20000000.
0x009657E0517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x009659F0517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00965C00517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00965EC0236std__vector_7dword_erase_rangeErases a range from a vector of 7-dword (0x1C byte) elements with embedded STL strings. Moves elements by destructing old strings and move-assigning new ones. Adjusts end pointer.
0x009660F0504std__vector_0xc__insert_singleInserts a single 0xC-byte element into a std::vector at the given position. Reallocates with 1.5x growth, copies existing elements around the insertion point.
0x009662F0141std__rbtree_destroy_nodes_recursiveRecursively destroys all nodes in a red-black tree. For each node, recurses into right child, destructs STL string at offset +4, frees the 0x4C-byte node, then moves to left child.
0x0096638075std__rbtree_lower_boundstd::map lower_bound operation. Traverses the red-black tree to find the first node >= key. Returns iterator struct with node pointer, insert hint, and bound node.
0x00966880150std__vector_0xc__clear_and_freeClears and frees a std::vector of 0xC-byte elements. Frees the backing buffer (with alignment handling for >0x1000 bytes) and zeros begin/end/capacity pointers.
0x00966AB0239std__map_GuildAlliance__bracket_operatorstd::map operator[] for map with GuildAllianceEntry values. Uses lower_bound to find or insert position, allocates 0x4C-byte node with default-constructed entry if key not found.
0x0096C2E0517std__rbtree_insert_nodeMSVC std::_Tree_val::_Insert_node. Inserts a node into a red-black tree at the specified position and rebalances via rotations and recoloring. Library function from Visual Studio 2019.
0x0096C4F046std__copy_0xc_elements_forwardSTL template instantiation: std copy 0xc elements forward
0x0096C52047std__copy_0xc_elements_forward_bCopies a range of 0xC-byte elements forward (variant B). Uses offset-based copy instead of separate destination pointer.
0x0096C55010thunk_to_std__Xlength_error_0096c550Calls std::_Xlength_error with vector_too_long error message
0x0096C56061std__allocator_0xc__deallocateMSVC std::allocator::deallocate for 0xC-byte elements. Handles aligned deallocation for buffers >0x1000 bytes (retrieves original pointer from -4 offset).
0x0096C86039std__vector_4byte__push_backstd::vector push_back for 4-byte elements. Appends element at end, calls realloc helper if at capacity.
0x0096C89049std__vector_0xc__push_backstd::vector push_back for 0xC-byte elements. Copies 12-byte struct at end, calls vector insert realloc if at capacity.
0x0096DFD0106std__tree_0x814__recursive_destroyRecursively destroys a std::tree with 0x814-byte nodes (very large nodes, likely containing embedded data). Standard tree destroy pattern: destroys right subtree, frees node, continues with left child.
0x0096E040731std__list__merge_by_item_type_and_nameMerges two sorted linked list ranges by item type (via FUN_009967f0) and name (via CItemDB__build_item_tooltip_string + std::_Traits_compare). When item types match, falls back to alphabetical name comparison. Used as the merge step for item list sorting.
0x0096E320283std__list__merge_sort_by_item_typeMerge sort for item linked list by item type (via CItemDesc__get_item_type). Standard recursive merge sort that splits list in half, sorts each, then merges.
0x0096E440107std__list__merge_sort_by_item_nameMerge sort for item linked list by item name. Uses std__list__merge_by_item_type_and_name as the merge function, which compares by type first then name. Recursive divide-and-conquer.
0x0096F4F070heap_free_0x814_at_offset4Frees a 0x814-byte heap allocation stored at this+4, if non-null.
0x0096F55079std__tree_destroy_0x814_rootDestroys a std::tree with 0x814-byte nodes. Calls std__tree_0x814__recursive_destroy then frees root/sentinel node.
0x0096F5B081heap_free_0x814_at_offset4_bFrees a 0x814-byte heap allocation stored at this+4, if non-null. Second instance of this pattern.
0x0096F61081heap_free_0x814_at_offset4_cFrees a 0x814-byte heap allocation stored at this+4, if non-null. Third instance.
0x00995AE0517std__Tree_val__Insert_node_00995ae0MSVC STL std::_Tree_val::_Insert_node. Inserts a new node into a red-black tree, performs rotations to maintain balance. Library function from Visual Studio 2019 Release.
0x0099AD50272STL_vector_pair8__insert_0099ad50STL vector insert for 8-byte pair elements. Grows vector with 1.5x capacity, copies element at insert position, relocates existing elements.
0x0099AE80214STL_vector_pair8__resize_fill_0099ae80STL vector resize+fill for 8-byte pair elements. Grows with 1.5x capacity strategy, fills new elements with given value, relocates existing data.
0x0099AF80280STL_map_int_pair__emplace_0099af80STL map emplace for int-key, 8-byte pair value. Traverses RB-tree to find insertion point, allocates 0x18-byte node, inserts via Insert_node. Returns iterator+bool pair.
0x0099B38083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x0099DD7090STL_vector__Change_array_0099dd70STL vector::_Change_array. Frees old buffer, then sets begin/end/capacity pointers to the new buffer.
0x0099DE10580STL_vector_3c__insert_reallocate_0099de10STL vector insert with reallocation for 0x3C-byte elements (MapMarkerEntry). Grows with 1.5x capacity, copy-constructs new element, relocates existing elements, destructs old array.
0x0099E1A0183STL_vector_3c__clear_and_free_0099e1a0Clears and frees STL vector of 0x3C-byte elements. Calls virtual destructor on each element (via vtable), then frees the buffer memory. Zeros out begin/end/capacity pointers.
0x0099F57037STL_vector_3c__destruct_range_0099f570STL template instantiation: STL vector 3c destruct range 0099f570
0x0099F5A0182STL_vector_3c__copy_construct_range_0099f5a0Copy-constructs a range of MapMarkerEntry (0x3C bytes) elements. Sets vtable, copies two strings and two ints per element. Returns pointer past last constructed element.
0x0099F660180STL_vector_3c__relocate_range_0099f660Relocates (move-constructs) a range of MapMarkerEntry elements to a new buffer. Same as copy but does not return end pointer.
0x0099F72010thunk_to_std__Xlength_error_0099f720Wrapper that calls std::_Xlength_error with vector_too_long message
0x0099F73064STL_vector_3c__free_buffer_0099f730Frees the buffer of a vector of 0x3C-byte elements. Handles aligned allocation (checks for oversized allocation header).
0x0099FA6067linked_list_sentinel__free_0099fa60Frees a 0x20-byte linked list sentinel node at offset+4 if it exists.
0x0099FAB078linked_list_sentinel__free_alt_0099fab0Frees a 0x20-byte linked list sentinel node at offset+4 if it exists (alternate version with SEH setup).
0x0099FB00103linked_list__clear_and_free_sentinel_0099fb00Clears a linked list of 0x20-byte nodes and frees the sentinel. Walks the list freeing each node, then frees the sentinel itself.
0x009AAD3034memcpy_range_009aad30Copies memory range [param_1, param_2) to param_3. Returns pointer past end of copied data.
0x009AAD60447std__vector_ushort__insert_realloc_009aad60STL vector<unsigned short> insert with reallocation. Grows capacity by 1.5x, copies elements before and after insertion point, inserts new element. Frees old buffer. Standard MSVC vector insert implementation for 2-byte elements.
0x009AAFE0129std__vector_ushort__clear_and_free_009aafe0Clears and frees a vector<unsigned short> buffer. Frees the data pointer (with alignment handling for large blocks), then zeroes out begin/end/capacity pointers.
0x009ABF8010thunk_to_std__Xlength_error_009abf80Calls std::_Xlength_error with vector_too_long error message
0x009ABFD0103std__map__recursive_destroy_nodes_009abfd0Recursively destroys nodes of an std::map red-black tree. Walks left subtree recursively, then follows right pointers iteratively, freeing each 0x1c-byte node. Stops at sentinel nodes (flag at offset 0xd).
0x009AC170102std__list_12byte__clear_009ac170Clears an std::list with 12-byte nodes. Disconnects head/tail, walks the tail chain freeing each 0xc-byte node. Used by scroll panel for offset entry cleanup.
0x009AC1E0111std__map__destroy_tree_009ac1e0Destroys an entire std::map red-black tree. Iterates through root's left children, recursively destroying subtrees via recursive_destroy_nodes, freeing 0x1c-byte nodes. Finally frees the root sentinel node.
0x009AC26065std__map__destroy_wrapper_009ac260Thin wrapper around std__map__destroy_tree. Sets up SEH frame and delegates to the tree destroyer.
0x009AC380264std__map_uint__bracket_insert_009ac380std::map<uint, ...> operator[] with insert. Searches red-black tree for key, inserts new node (0x1c bytes) if not found with zeroed value fields. Returns pointer to value portion (node+5 dwords). Throws on max size exceeded (0x9249249).
0x009AC49083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x009ADB10704STL_rbtree_erase_nodeRed-black tree node removal with rebalancing; standard STL _Tree::_Extract implementation
0x009ADDD084STL_rbtree_rotate_left_9addd0Left rotation of a red-black tree node; maintains parent/child links and updates root if needed
0x009ADE3088STL_rbtree_rotate_right_9ade30Right rotation of a red-black tree node; maintains parent/child links and updates root if needed
0x009ADE90115STL_rbtree_clear_allClears all nodes from red-black tree, freeing each 0x1C-byte node and resetting head to empty
0x009B41B0107std__list_16byte__clear_009b41b0Clears an std::list with 16-byte nodes. Disconnects sentinel, walks forward chain freeing each 0x10-byte node. Resets head/tail to self and count to 0.
0x009B439043STL_vector_string_push_backPushes a string copy onto the vector, growing if at capacity
0x009B43C0250STL_vector_string_push_back_rangePushes a string constructed from char range [begin,end) onto string vector, growing if needed
0x009B44C0261std__vector_string__push_back_cstr_009b44c0Pushes a C-string onto a vector<string>. Creates temporary std::string from the C-string, then either inserts with reallocation (if at capacity) or copy-constructs in place. Frees temporary string buffer.
0x009B4EF082STL_vector_24byte__at_seh_wrapperSEH-wrapped call to std::vector&lt;24byte&gt;::at(). Sets up structured exception handling frame around a bounds-checked vector element access for 24-byte (0x18) elements.
0x009B529010STL_throw_vector_subscript_out_of_rangeThrows std::out_of_range("invalid vector subscript"). Called by vector::at() when index is out of bounds. Does not return.
0x009B52A051std__vector_24byte__at_009b52a0Bounds-checked access to vector of 24-byte elements. Returns pointer to element at index param_2. Throws out_of_range if index >= size.
0x009B5580120std__vector_string__push_back_009b5580Pushes a string onto a vector<string> at offset 0x1f0 of the object. If at capacity, does insert with realloc; otherwise copy-constructs in place and advances end pointer by 0x18.
0x009B5600189std__vector_string__get_at_009b5600Gets string at index from vector<string> at offset 0x1f0. If index is out of range, returns empty string. Otherwise copy-constructs the string at the given index into param_2.
0x009B56C030std__vector_string__size_009b56c0Returns the number of elements in vector<string> at offset 0x1f0. Computes (end - begin) / 0x18.
0x009B576034memcpy_range_009b5760Copies memory range [param_1, param_2) to param_3. Returns pointer past end of copied data. Duplicate of memcpy_range_009aad30.
0x009B5790452std__vector_int__insert_realloc_009b5790STL vector<int> insert with reallocation. Grows capacity by 1.5x, allocates new buffer, copies elements before and after insertion point, inserts new element. Frees old buffer. Standard MSVC vector insert for 4-byte elements.
0x009B5960527std__vector_64byte__insert_realloc_009b5960STL vector insert with reallocation for 64-byte (0x40) element objects. Grows capacity by 1.5x. Calls element constructors/destructors during copy. Uses FUN_009b70a0 for element construction and FUN_009bc870/FUN_009bc650 for batch move.
0x009B5B80564std__vector_36byte__insert_realloc_009b5b80STL vector insert with reallocation for 36-byte (0x24) element objects. Grows capacity by 1.5x. Calls element constructors/destructors during copy. Uses FUN_009b7120 for element construction and FUN_009bc930/FUN_009bc710 for batch move.
0x009B5DC0594std__vector_56byte__insert_realloc_009b5dc0STL vector insert with reallocation for 56-byte (0x38) element objects. Standard 1.5x growth pattern with element constructor/destructor calls.
0x009B7470129std__vector_int__clear_and_free_009b7470Clears and frees a vector<int> buffer. Frees data with alignment handling for large blocks, zeroes begin/end/capacity.
0x009B7500185std__vector_56byte__destroy_009b7500Destroys vector of 56-byte (0x38) elements. Calls each element's destructor via vtable[0] with param 0, then frees the buffer with alignment handling.
0x009B75C0156std__vector_64byte__destroy_009b75c0Destroys vector of 64-byte (0x40) elements. Calls each element's destructor via vtable[0] with param 0, then frees the buffer with alignment handling.
0x009B7670176std__vector_36byte__destroy_009b7670Destroys vector of 36-byte (0x24) elements. Calls each element's destructor via vtable[0] with param 0, then frees the buffer with alignment handling.
0x009BC9E010thunk_to_std__Xlength_error_009bc9e0Wrapper that calls std::_Xlength_error with vector_too_long message
0x009BC9F010thunk_to_std__Xlength_error_009bc9f0Thunk that calls std::_Xlength_error with vector_too_long message
0x009BCA0010thunk_to_std__Xlength_error_009bca00Calls std::_Xlength_error with vector_too_long error message
0x009BCA1010thunk_to_std__Xlength_error_009bca10Thunk that calls std::_Xlength_error with vector_too_long message
0x009BCA2062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x009BCAF061deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x009BCBF034memcpy_range_009bcbf0Copies memory range [param_1, param_2) to param_3. Returns pointer past end.
0x009BCC2034memcpy_range_009bcc20Copies memory range [param_1, param_2) to param_3. Returns pointer past end.
0x009BCC5034memcpy_range_009bcc50Copies memory range [param_1, param_2) to param_3. Returns pointer past end.
0x009BCC8034memcpy_range_009bcc80Copies memory range [param_1, param_2) to param_3. Returns pointer past end.
0x009BCCB0135std__map__recursive_destroy_sprite_nodes_009bccb0Recursively destroys map nodes (0x18 bytes each) containing sprite references. For each non-sentinel node: recurses on left subtree, destroys sprite at field[5] via FUN_00af0be0 if non-null, frees node.
0x009BCD40131std__map__recursive_destroy_string_nodes_009bcd40Recursively destroys map nodes (0x2c bytes each) containing strings. For each non-sentinel node: recurses on left subtree, destroys string, frees node.
0x009BCDD075std__map_int__lower_bound_009bcdd0std::map<int,...> lower_bound operation. Walks the red-black tree comparing key at node offset 4*4 with *param_3. Returns iterator (node pointer + found flag + end pointer) in param_2.
0x009BCE20418STL_vector_int_resize_grow_009bce20Resizes a vector<int> to param_2 elements. Allocates new buffer with 1.5x growth, zero-fills new elements, copies existing data, frees old buffer. Standard MSVC vector resize implementation.
0x009BCFD0418STL_vector_int_resize_growSTL vector&lt;int&gt; resize with growth. Allocates new buffer with 1.5x growth policy, copies existing elements, zero-fills new elements, frees old buffer. Max capacity 0x3fffffff. Element size is 4 bytes (int/pointer).
0x009BD180418STL_vector_int_resize_grow_009bd180STL vector&lt;int&gt; resize with growth (duplicate instance). Same logic as STL_vector_int_resize_grow but with different exception handler thunks.
0x009BD330418STL_vector_int_resize_grow_009bd330STL vector&lt;int&gt; resize with growth (duplicate instance). Same logic as STL_vector_int_resize_grow but with different exception handler thunks.
0x009BD5D028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x009BD5F028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x009BD61028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x009BD63028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x009BD65085std__rotate_int_009bd650std::rotate for int arrays. Rotates [param_2, param_4) around param_3. Uses three reverse operations (FUN_00e614e1). Returns new position of the original first element in param_1.
0x009BD6B085std__rotate_array_intSTL rotate implementation for int arrays. Rotates elements in range [param_2, param_4) around pivot param_3. Sets *param_1 to the new position of the original first element. Uses swap operations (FUN_00e614e1) for the rotation.
0x009BD71085std__rotate_array_int_009bd710Identical STL rotate implementation for int arrays. Duplicate of std__rotate_array_int for a different instantiation.
0x009BD77085std__rotate_array_int_009bd770Identical STL rotate implementation for int arrays. Third duplicate for another instantiation.
0x009BDED0105std__map_string__ctor_009bded0Constructs an std::map with string values. Allocates 0x2c-byte sentinel node, sets self-referencing pointers and nil flags. Returns initialized map.
0x009BEE3067free_map_sentinel_node_2c_009bee30Frees a 0x2c-byte map sentinel node if it exists (offset 4 of the param).
0x009BEE8067free_map_sentinel_node_40Frees a 0x40-byte map sentinel node at offset+4 if it exists. Same pattern as free_map_sentinel_node_2c but for larger nodes.
0x009BF08076std__map_sprite__destroy_tree_009bf080Destroys an std::map with sprite values. Recursively destroys all sprite nodes, then frees the 0x18-byte sentinel.
0x009BF0E076std__map_string__destroy_and_freeDestroys a std::map with string keys. Recursively destroys all nodes via std__map__recursive_destroy_string_nodes, then frees the sentinel/head node (0x2c bytes).
0x009BF9F087std__map_sprite__destroy_tree_alt_009bf9f0Same as std__map_sprite__destroy_tree_009bf080. Destroys all sprite nodes recursively, frees 0x18-byte sentinel.
0x009BFA5087std__map_string__destroy_and_free_009bfa50Destroys a std::map with string keys (duplicate instance). Same as std__map_string__destroy_and_free.
0x009BFB70129STL_vector_int_deallocateDeallocates an STL vector&lt;int&gt; buffer. Handles aligned allocation (checks if size >= 0x1000 for aligned free). Zeros all three vector fields (data, end, capacity) after freeing.
0x009BFC00129STL_vector_int_deallocate_009bfc00Deallocates an STL vector&lt;int&gt; buffer (duplicate instance). Handles aligned allocation (checks if size >= 0x1000 for aligned free). Zeros all three vector fields after freeing.
0x009BFC90129STL_vector_int_deallocate_009bfc90STL vector<int> deallocate: frees the internal buffer and resets begin/end/capacity pointers to 0. Uses security cookie and SEH.
0x009BFD20129STL_vector_int_deallocate_009bfd20STL vector<int> deallocate: frees the internal buffer and resets begin/end/capacity pointers to 0. Identical pattern to 009bfc90.
0x009C0640290std__map_int_string__subscript_009c0640std::map<int,string>::operator[]: searches red-black tree for int key. If not found and map is not full (checks against 0x5d1745d limit), allocates new 0x2c-byte node with the key, inserts via Insert_node, and returns pointer to the value (string at offset +5 dwords).
0x009D6C70517STL_tree_val__Insert_node_009d6c70STL std::_Tree_val::_Insert_node, inserts a node into a red-black tree and rebalances. Library function (VS2019). Matches multiple template instantiations (uint, string, PCTableEntry).
0x009D6E80517STL_tree_val__Insert_node_009d6e80STL std::_Tree_val::_Insert_node, inserts a node into a red-black tree and rebalances. Library function (VS2019). Duplicate instantiation of same template.
0x009D737022std__any__init_vtable_009d7370std::any vtable initializer. Sets vtable pointer from PTR_FUN_01149644 and copies member at offset +4.
0x009D739022std__any__init_vtable_009d7390std::any vtable initializer. Sets vtable pointer from PTR_FUN_0114960c and copies member at offset +4.
0x009D73B022std__any__init_vtable_009d73b0std::any vtable initializer. Sets vtable pointer from PTR_FUN_0114936c and copies member at offset +4.
0x009D73D022std__any__init_vtable_009d73d0std::any vtable initializer. Sets vtable pointer from PTR_FUN_01149484 and copies member at offset +4.
0x009D73F022std__any__init_vtable_009d73f0std::any vtable initializer. Sets vtable pointer from PTR_FUN_01149430 and copies member at offset +4.
0x009D741022std__any__init_vtable_009d7410std::any vtable initializer. Sets vtable pointer from PTR_FUN_011493c0 and copies member at offset +4.
0x009D743022std__any__init_vtable_009d7430std::any vtable initializer. Sets vtable pointer from PTR_FUN_01149388 and copies member at offset +4.
0x009D745022std__any__init_vtable_009d7450std::any vtable initializer. Sets vtable pointer from PTR_FUN_011494f4 and copies member at offset +4.
0x009D7470341std__any__swap_009d7470std::any::swap implementation. Swaps the contained values of two std::any objects. Uses vtable virtual calls for move construction and destruction when either any holds a small-buffer-optimized value.
0x009D75D0341std__any__swap_009d75d0std::any::swap implementation. Swaps the contained values of two std::any objects. Uses vtable virtual calls for move construction and destruction when either any holds a small-buffer-optimized value.
0x009D7730341std__any__swap_009d7730std::any::swap implementation. Swaps the contained values of two std::any objects. Uses vtable virtual calls for move construction and destruction when either any holds a small-buffer-optimized value.
0x009D7890341std__any__swap_009d7890std::any::swap implementation. Swaps the contained values of two std::any objects.
0x009D79F0341std__any__swap_009d79f0std::any::swap implementation. Swaps the contained values of two std::any objects.
0x009D7B50341std__any__swap_009d7b50std::any::swap implementation. Swaps the contained values of two std::any objects.
0x009D7CB0341std__any__swap_009d7cb0std::any::swap implementation. Swaps the contained values of two std::any objects.
0x009D7E10341std__any__swap_009d7e10std::any::swap implementation. Swaps the contained values of two std::any objects.
0x009D7F70341std__any__swap_009d7f70std::any::swap implementation. Swaps the contained values of two std::any objects.
0x009D82C010thunk_to_std__Xlength_error_009d82c0Thunk that calls std::_Xlength_error with vector_too_long message
0x009D82D010thunk_to_std__Xlength_error_009d82d0Wrapper that calls std::_Xlength_error with vector_too_long message
0x009D82E010thunk_to_std__Xlength_error_009d82e0Calls std::_Xlength_error with vector_too_long error message
0x009D82F010thunk_to_std__Xlength_error_009d82f0Calls std::_Xlength_error with vector_too_long message
0x009D830062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x009D834062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x009D838062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x009D83C062deallocateSTL allocator::deallocate. Frees memory, handling aligned blocks (>0xFFF bytes) specially.
0x009D8400103std__tree__destroy_nodes_009d8400Recursively destroys tree nodes (std::_Tree). Traverses left subtree via recursion, then walks right via iteration. Frees each node (0x18 bytes) via operator delete.
0x009D8470103std__tree__destroy_nodes_009d8470Recursively destroys tree nodes (std::_Tree). Same pattern as 009d8400 but for a different tree instantiation. Frees each node (0x18 bytes).
0x009D84E0445std__tree__find_hint_009d84e0std::_Tree find with hint for std::set<unsigned int>. Given a hint iterator and a key, finds the correct insertion point. Returns a 3-field result: node pointer, direction (0=left, 1=right, 2=at), and found flag.
0x009D86A0516std__tree__find_insert_hint_009d86a0std::_Tree find/insert with hint for std::set<unsigned int>. Extended version that handles predecessor/successor comparison for optimal insertion. Falls back to lower_bound search via 009d88b0.
0x009D88B075std__tree__lower_bound_009d88b0std::_Tree lower_bound for std::set<unsigned int>. Walks tree from root comparing keys, tracking the last node where key <= search value. Returns result with node, direction, and parent.
0x009D8900142linked_list__destroy_with_string_009d8900Destroys a singly-linked list. Sets tail to null, iterates each node calling CFmt cleanup, destroying one STL string, then freeing node (0x40 bytes).
0x009D8990154linked_list__destroy_with_two_strings_009d8990Destroys a singly-linked list. Sets tail to null, iterates each node calling CFmt cleanup, destroying two STL strings, then freeing node (0x5c bytes).
0x009D8B10436std__set__range_insert_with_filter_009d8b10Iterates a tree range [param_2, param_3), filters nodes via CPacketSerializer bulk_processor, and inserts matching ones into the destination set. Allocates 0x38-byte nodes with string copy. Uses find_hint for insertion.
0x009D967067std__any__delete_small_009d9670std::any destructor helper. Frees the heap-allocated object at offset+4 (0xc bytes) if non-null.
0x009D96C067std__any__delete_small_009d96c0std::any destructor helper. Frees the heap-allocated object at offset+4 (0xc bytes) if non-null.
0x009D971067std__any__delete_009d9710std::any destructor helper. Frees the heap-allocated object at offset+4 (0x38 bytes) if non-null.
0x009D976067std__any__delete_009d9760std::any destructor helper. Frees the heap-allocated object at offset+4 (0x40 bytes) if non-null.
0x009D97B067std__any__delete_009d97b0std::any destructor helper. Frees the heap-allocated object at offset+4 (0x2c bytes) if non-null.
0x009D980067std__any__delete_009d9800std::any destructor helper. Frees the heap-allocated object at offset+4 (0x5c bytes) if non-null.
0x009D985067std__any__delete_009d9850std::any destructor helper. Frees the heap-allocated object at offset+4 (0x18 bytes) if non-null.
0x009D98A078std__any__delete_009d98a0std::any destructor helper. Frees the heap-allocated object at offset+4 (0xc bytes) if non-null.
0x009D98F078std__any__delete_009d98f0std::any destructor helper. Frees heap-allocated object at offset+4 (0xc bytes) if non-null.
0x009D9940129std__any__destroy_with_strings_009d9940std::any destructor for a type containing 2 STL strings. Destroys strings, then frees heap object (0x38 bytes) at offset+4.
0x009D99D0140std__any__destroy_with_fmt_string_009d99d0std::any destructor for a type containing CFmt + STL string. Calls CFmt cleanup, then destroys string, then frees heap object (0x40 bytes).
0x009D9A60129std__any__destroy_with_fmt_string_009d9a60std::any destructor for a type containing CFmt + STL string. Calls CFmt cleanup, destroys string, frees heap object (0x2c bytes).
0x009D9AF0152std__any__destroy_with_fmt_two_strings_009d9af0std::any destructor for a type containing CFmt + 2 STL strings. Calls CFmt cleanup, destroys both strings, frees heap object (0x5c bytes).
0x009D9B90102linked_list__destroy_simple_009d9b90Destroys a singly-linked list of simple nodes. Clears head/tail pointers, then walks the list freeing each 0xc-byte node.
0x009D9C10111std__set__clear_and_destroy_009d9c10Clears and destroys an std::set (tree). Recursively destroys all nodes via std__tree__destroy_nodes_009d8400, then frees the sentinel node (0x18 bytes).
0x009D9C90111std__set__clear_and_destroy_009d9c90Clears and destroys an std::set (tree). Recursively destroys all nodes via std__tree__destroy_nodes_009d8470, then frees the sentinel node (0x18 bytes).
0x009D9D1078std__any__delete_009d9d10std::any destructor helper. Frees heap-allocated object at offset+4 (0x18 bytes) if non-null.
0x009D9D6078std__any__delete_009d9d60std::any destructor helper. Frees heap-allocated object at offset+4 (0x18 bytes) if non-null.
0x009D9DB0165linked_list__destroy_with_string_009d9db0Destroys a linked list with CFmt+string nodes. Walks list freeing each 0x3c-byte node after cleaning up CFmt and one STL string. Also frees the sentinel/head node.
0x009D9E60177linked_list__destroy_with_two_strings_009d9e60Destroys a linked list with CFmt+2 strings per node. Walks list freeing each 0x58-byte node after cleaning up CFmt and two STL strings. Also frees the sentinel/head node.
0x009D9F20126std__set__clear_and_destroy_009d9f20Clears and destroys an std::set (tree). Same as 009d9c10, recursively destroys nodes then frees sentinel.
0x009D9FA065std__set__dtor_wrapper_009d9fa0Wrapper that calls std__set__clear_and_destroy_009d9c90 to destroy an std::set.
0x009DA70083operator++STL red-black tree iterator increment (operator++). Moves to the next in-order node.
0x009DBFD0219std__set__insert_uint_009dbfd0Inserts an unsigned int into an std::set. Calls _Find_lower_bound to find position, allocates a 0x14-byte tree node if not already present, then calls Insert_node to link it into the RB-tree.
0x009E0BA0517STL_tree_insert_node_009e0ba0STL std::_Tree_val::_Insert_node. Inserts a new node into a red-black tree, maintains parent pointers, and rebalances via rotations. Handles both left and right child insertion. MSVC VS2019 library code.
0x009E0E70129std__vector_int_deallocateDeallocates std::vector<int> buffer. Handles aligned deallocation for buffers >0xFFF bytes. Zeros out begin/end/capacity pointers.
0x009E0F0092std__vector_int_allocate_elementsAllocates memory for vector<int> elements. Multiplies count by 4 (sizeof int). Uses aligned allocation for sizes >0x1000. Throws bad_array_new_length if count >= 0x40000000.
0x009E0F60206std__string_find_last_not_ofstd::string::find_last_not_of implementation. Builds 256-byte character lookup table from search set (marking each byte as 0x01), then scans backward from position param_3 to find last character NOT in the set. Returns index or -1 (npos).
0x009E1030144std__sub_match_to_stringConverts a std::sub_match<const char*> to std::string. Checks the matched flag at offset+8; if matched, copies the character range [begin, end) into the output string. If not matched, returns an empty string. Used by regex match result extraction.
0x009E10C0207std__int_to_stringConverts signed integer to std::string. Uses _UIntegral_to_buff to convert digits, prepends '-' for negative values. Initializes output as empty SSO string then assigns the result.
0x009E1190103std__tree_destroy_nodes_recursiveRecursively destroys all nodes in a red-black tree. Walks right subtree recursively, then iterates left children, freeing each 0x18-byte node. Stops at sentinel (isNil flag at offset+0xD).
0x009E120075std__tree_lower_boundstd::_Tree lower_bound. Traverses red-black tree comparing key at node offset+0x10 against search key. Returns iterator pointing to first element not less than key.
0x009E13D067std__tree_sentinel_dealloc_aDeallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected.
0x009E142067std__tree_sentinel_dealloc_bDeallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected. Variant b.
0x009E1470111std__tree_destroy_all_nodes_aDestroys all nodes in a red-black tree. Iterates left children while recursively destroying right subtrees, frees each 0x18-byte node, then frees the sentinel.
0x009E14F078std__tree_sentinel_dealloc_cDeallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected. Variant c.
0x009E1540120std__tree_destroy_with_resource_cleanupDestroys tree node with optional resource cleanup. If node exists and has a resource pointer at offset+0x14, calls CResource__release_ref first, then frees the 0x18-byte node.
0x009E15C078std__tree_sentinel_dealloc_dDeallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected. Variant d.
0x009E161078std__tree_sentinel_dealloc_eDeallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected. Variant e.
0x009E1660126std__tree_destroy_all_nodes_bDestroys all nodes in a red-black tree variant. Same as tree_destroy_all_nodes_a but different exception handler. Iterates and frees all 0x18-byte tree nodes plus sentinel.
0x009E1990263std__map_int_insert_or_findstd::map<int,int> insert-or-find. Walks tree to find key; if not found and size < 0xAAAAAAA, allocates 0x18-byte node, sets key, and inserts via Insert_node. Returns pointer to value field.
0x009E1AA0236std__map_int_insert_or_find_with_lower_boundstd::map<int,int> insert-or-find using lower_bound. Finds insertion point via lower_bound, allocates node if key not found, inserts via Insert_node. Returns pointer to value field at node+0x14.
0x009E1B90236std__map_int_insert_or_find_with_lower_bound_bstd::map<int,int> insert-or-find variant b. Same logic as insert_or_find_with_lower_bound but for a different map instantiation. Returns pointer to value at node+0x14.
0x009E2D90517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances.
0x009E2FA0517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances.
0x009E32B078std__tree_find_floorRed-black tree floor search: finds the last node whose key is <= the search key. Returns iterator to that node, or sentinel if all keys are greater. Used by UIButton to look up the highest state sprite index <= the current button state.
0x009E3580330std__vector_0x24_emplace_with_reallocstd::vector emplace with reallocation for 0x24-byte elements. Grows capacity by 1.5x (max 0x71C71C7 elements). Constructs new element at insert position, moves existing elements around it, replaces old buffer.
0x009E3700333std__vector_0x24_elem__reallocate_insert_009e3700Reallocates a vector of 0x24-byte elements (containing STL strings) to insert a new element. Grows capacity using 1.5x strategy, copies/moves elements around the insertion point, and updates the vector pointers.
0x009E3880208std__vector_0x24_elem__uninitialized_move_range_009e3880Move-constructs a range of 0x24-byte elements (each containing a 4-int header + STL string + 3 extra fields) from [param_1, param_2) into uninitialized memory at param_3. Transfers string ownership (nullifies source strings).
0x009E3950150std__vector_0x24_elem__default_construct_element_009e3950Default-constructs a single 0x24-byte element in-place. Zeros out all fields including embedded STL string (sets capacity to 0xF for SSO).
0x009E39F0103std__vector_0x24_elem__copy_construct_element_009e39f0Copy-constructs a 0x24-byte element at param_2 from source param_3. Copies the embedded STL string via STL_string_copy_construct, then copies 3 trailing fields (byte + 2 ints at offsets 0x18, 0x1C, 0x20).
0x009E3F5090std__vector_0x24_elem__destroy_elements_009e3f50Destroys all elements in a vector of 0x24-byte structs by iterating from begin to end and calling STL_string_dtor on each element's embedded string.
0x009E3FB0197std__vector_0x24_elem__clear_and_free_009e3fb0Clears and frees a vector of 0x24-byte elements. Destroys each element's embedded STL string, then frees the backing buffer (with debug heap validation). Resets begin/end/capacity pointers to 0.
0x009E6600208std__vector_0x24_elem__replace_buffer_009e6600Replaces the internal buffer of a vector of 0x24-byte elements. Destroys all existing elements' strings, frees old buffer, then sets begin/end/capacity to the new buffer (param_2) with param_3 elements and param_4 capacity.
0x009E66E092std__vector_0x24_destroy_rangeDestroys a range of 0x24-byte elements by calling STL_string_dtor on each. Iterates from param_1 to param_2 in 0x24 steps.
0x009E674010thunk_to_std__Xlength_error_009e6740Calls std::_Xlength_error with vector_too_long error message
0x009E675095std__vector_0x24_allocate_elementsAllocates memory for vector of 0x24-byte elements. Multiplies count by 0x24. Uses aligned allocation for large sizes. Max 0x71C71C7 elements before throwing bad_array_new_length.
0x009E67B061deallocateSTL allocator::deallocate. Frees memory, handling aligned blocks (>0xFFF bytes) specially.
0x009E67F067std__tree_sentinel_dealloc_0x1cDeallocates tree sentinel node of 0x1C bytes if non-null. SEH protected.
0x009E684067free_0x1c_node_at_offset4_009e6840Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Used as a cleanup/destructor helper for tree map nodes.
0x009E689078free_0x1c_node_at_offset4_009e6890Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Cleanup helper for tree map nodes (variant with different SEH label).
0x009E68E078free_0x1c_node_at_offset4_009e68e0Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Cleanup helper for tree map nodes (variant with different SEH label).
0x009E693078free_0x1c_node_at_offset4_009e6930Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Cleanup helper for tree map nodes (variant with different SEH label).
0x009E698078free_0x1c_node_at_offset4_009e6980Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Cleanup helper for tree map nodes (variant with different SEH label).
0x009E6DD0517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances.
0x009E6FE0517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances.
0x009EAEC0103std__map_0x1c__recursive_destroy_nodes_009eaec0Recursively destroys all nodes in a red-black tree map with 0x1C-byte nodes. Traverses right subtree recursively, then walks left chain freeing each node.
0x009EAF30103std__map_0x1c__recursive_destroy_nodes_b_009eaf30Recursively destroys all nodes in a red-black tree map with 0x1C-byte nodes. Same pattern as the other variant with a different SEH label.
0x009EAFA0165std__map_0x40__recursive_destroy_nodes_009eafa0Recursively destroys all nodes in a red-black tree map with 0x40-byte nodes. Each node has a polymorphic child at offset 0xF (field index 15) that gets destroyed via virtual destructor before the node is freed.
0x009EB05075std__map_int__lower_bound_009eb050Performs lower_bound search on an int-keyed std::map. Returns iterator struct in param_2 with: [0]=last visited node, [1]=direction flag, [2]=lower_bound result node.
0x009EB0A075std__map_int__lower_bound_b_009eb0a0Performs lower_bound search on an int-keyed std::map. Identical pattern to std__map_int__lower_bound (different instantiation).
0x009EB300111std__map_0x1c__destroy_all_and_free_sentinel_009eb300Destroys all nodes in a 0x1C-byte node map by recursively freeing, then frees the sentinel node itself.
0x009EB380111std__map_0x1c__destroy_all_and_free_sentinel_b_009eb380Destroys all nodes in a 0x1C-byte node map and frees the sentinel. Variant using destroy_nodes_b.
0x009EB40076std__map_0x40__destroy_all_and_free_sentinel_009eb400Destroys all nodes in a 0x40-byte node map (with polymorphic children) and frees the sentinel node.
0x009EB46065std__map_0x1c__destroy_all_seh_wrapper_009eb460SEH wrapper around std__map_0x1c__destroy_all_and_free_sentinel. Sets up exception frame before calling the destroy function.
0x009EB4B065std__map_0x1c__destroy_all_seh_wrapper_b_009eb4b0SEH wrapper around std__map_0x1c__destroy_all_and_free_sentinel_b. Sets up exception frame before calling the destroy function.
0x009EB50087std__map_0x40__destroy_all_seh_wrapper_009eb500SEH wrapper around std__map_0x40__destroy_all_and_free_sentinel. Sets up exception frame before calling the destroy function.
0x009EC3E075std__tree_lower_bound_bstd::_Tree lower_bound variant b. Traverses red-black tree comparing key at node offset+0x10 against search key. Returns iterator pointing to first element not less than key.
0x009EC850223std__map_int_insert_or_find_cstd::map<int,int> insert-or-find variant c. Uses lower_bound to find position, allocates 0x18-byte node if key not found, inserts via Insert_node. Returns pointer to value at node+0x14.
0x009EFBE075std__map_lower_bound_009efbe0STL map lower_bound implementation. Traverses red-black tree from root (field +4) comparing keys. Returns iterator pointing to first element with key >= param_3.
0x009EFF1067std__map_node_dtor_009eff10Destructor for a map node. Frees the node memory (0x18 bytes) at field+4 via operator delete. SEH protected.
0x009EFF6078std__map_node_dtor_b_009eff60Variant B of map node destructor. Frees 0x18 byte node at field+4 via operator delete. SEH protected.
0x009EFFB078std__map_node_dtor_c_009effb0Variant C of map node destructor. Frees 0x18 byte node at field+4 via operator delete. SEH protected.
0x009F0000223STL_map_insert_or_find_9f0000STL map insert-or-find: inserts new 0x18-byte node with key if not found, returns value pointer
0x009F0570517std__tree_val__insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances.
0x009F67B034memcpy_range_a_009f67b0Copies memory range [param_1, param_2) to destination param_3. Returns pointer past last written byte. Used for vector relocation.
0x009F67E034memcpy_range_b_009f67e0Copies memory range [param_1, param_2) to destination param_3. Returns pointer past last written byte. Variant B for different vector type.
0x009F6810103std__tree__destroy_nodes_recursive_009f6810Recursively destroys red-black tree nodes. For each non-nil node, recursively destroys right subtree (field[2]), then frees node (0x18 bytes) and advances to next (field[0]). Continues until hitting nil sentinel (field+0xd != 0).
0x009F6880418std__vector_int__reallocate_009f6880std::vector<int> reallocation. Grows to max(param_2, 1.5x current capacity). Allocates new buffer, zero-fills new elements, copies existing data, frees old buffer. Throws length_error if > 0x3fffffff elements.
0x009F6A30418std__vector_int__reallocate_b_009f6a30std::vector<int> reallocation variant B. Same logic as 009f6880 but for a different vector instance/type. Grows capacity, allocates, copies, and frees old buffer.
0x009F6C4028_Zero_range<>STL _Zero_range: fills a memory range with zeros using element-sized strides
0x009F6C6028_Zero_range<>STL _Zero_range: fills a memory range with zeros using element-sized strides
0x009F6C8085std__rotate_int_ptr_009f6c80std::rotate implementation for int pointers. Rotates range [param_2, param_4) around pivot param_3. Handles edge cases where pivot equals begin or end. Returns new pivot position.
0x009F6CE085std__rotate_int_ptr_b_009f6ce0std::rotate variant B for int pointers. Same logic as 009f6c80.
0x009F77D067std__map_node_free_009f77d0Frees a 0x18 byte map node at field+4 via operator delete. SEH protected.
0x009F7910111std__map__destroy_all_nodes_009f7910Destroys entire std::map. Iterates tree from root, recursively destroys child subtrees via std__tree__destroy_nodes_recursive, frees each node (0x18 bytes), then frees the sentinel node.
0x009F799078std__map_node_dtor_variant_a_009f7990Map node destructor variant. Frees 0x18 byte node at field+4. SEH protected.
0x009F79E078std__map_node_dtor_variant_b_009f79e0Map node destructor variant B. Frees 0x18 byte node at field+4. SEH protected.
0x009F7C10103std__forward_list_destroy_0xc_nodesDestroys all nodes in a forward_list with 0xC-byte nodes. Zeros the tail pointer, walks and frees each node, then frees the header.
0x009F7C80103std__forward_list_destroy_0x10_nodesDestroys all nodes in a forward_list with 0x10-byte nodes. Zeros the tail pointer, walks and frees each node, then frees the header.
0x009F7CF065std__map_destroy_wrapper_009f7cf0Wrapper that calls std::map destroy_all_nodes to fully clear a map. SEH protected.
0x009F7D40129std__vector_ptr_deallocate_aDeallocates std::vector pointer buffer. Handles aligned deallocation for buffers >0xFFF bytes. Zeros begin/end/capacity pointers.
0x009F7DD0129std__vector_ptr_deallocate_bDeallocates std::vector pointer buffer (variant b). Same pattern as vector_ptr_deallocate_a.
0x009F8780164std__any_clone_and_swap_aClones a std::any callback from source (offset 0x24) into destination. Creates local copy via virtual clone, then swaps into target callback object.
0x009F8830164std__any_clone_and_swap_bClones a std::any callback from source (offset 0x24) into destination (variant b). Same pattern as clone_and_swap_a.
0x009F88E0263std__map_int_insert_or_find_dstd::map<int,int> insert-or-find variant d. Same pattern as other insert_or_find functions. Returns pointer to value field.
0x00A02F5022callback_functor__init_vtable_00a02f50Initializes a callback functor: sets vtable to PTR_FUN_0114e35c and copies target pointer from this+4 into param_2[1].
0x00A02F7022callback_functor__init_vtable_00a02f70Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A02F9022callback_functor__init_vtable_00a02f90Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A02FB022callback_functor__init_vtable_00a02fb0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A02FD022callback_functor__init_vtable_00a02fd0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A02FF022callback_functor__init_vtable_00a02ff0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A0301022callback_functor__init_vtable_00a03010Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A0303022callback_functor__init_vtable_00a03030Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A0305022callback_functor__init_vtable_00a03050Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A0307022callback_functor__init_vtable_00a03070Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A0309022callback_functor__init_vtable_00a03090Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A030B022callback_functor__init_vtable_00a030b0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A030D022callback_functor__init_vtable_00a030d0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A030F022callback_functor__init_vtable_00a030f0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A0311022callback_functor__init_vtable_00a03110Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A0313022callback_functor__init_vtable_00a03130Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A0315022callback_functor__init_vtable_00a03150Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A0317068conditional_free_8bytes_00a03170If param_2 is nonzero, frees 8 bytes of memory at param_1 via FUN_00e6227f (operator delete).
0x00A031C068conditional_free_8bytes_00a031c0If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0321068conditional_free_8bytes_00a03210If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0326068conditional_free_8bytes_00a03260If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A032B068conditional_free_8bytes_00a032b0If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0330068conditional_free_8bytes_00a03300If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0335068conditional_free_8bytes_00a03350If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A033A068conditional_free_8bytes_00a033a0If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A033F068conditional_free_8bytes_00a033f0If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0344068conditional_free_8bytes_00a03440If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0349068conditional_free_8bytes_00a03490If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A034E068conditional_free_8bytes_00a034e0If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0353068conditional_free_8bytes_00a03530If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0358068conditional_free_8bytes_00a03580If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A035D068conditional_free_8bytes_00a035d0If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0362068conditional_free_8bytes_00a03620If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A0367068conditional_free_8bytes_00a03670If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete.
0x00A03BD0517STL_Tree_val__Insert_nodeMSVC STL std::_Tree_val::_Insert_node. Inserts a node into a red-black tree (std::set/map). Handles tree rotation and rebalancing after insertion.
0x00A03DE022callback_functor__init_vtable_00a03de0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03E0022callback_functor__init_vtable_00a03e00Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03E2022callback_functor__init_vtable_00a03e20Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03E4022callback_functor__init_vtable_00a03e40Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03E6022callback_functor__init_vtable_00a03e60Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03E8022callback_functor__init_vtable_00a03e80Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03EA022callback_functor__init_vtable_00a03ea0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03EC022callback_functor__init_vtable_00a03ec0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03EE022callback_functor__init_vtable_00a03ee0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03F0022callback_functor__init_vtable_00a03f00Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03F2022callback_functor__init_vtable_00a03f20Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03F4022callback_functor__init_vtable_00a03f40Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03F6022callback_functor__init_vtable_00a03f60Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03F8022callback_functor__init_vtable_00a03f80Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03FA022callback_functor__init_vtable_00a03fa0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03FC022callback_functor__init_vtable_00a03fc0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A03FE022callback_functor__init_vtable_00a03fe0Callback functor initializer: sets vtable and copies target pointer from this+4.
0x00A043D010thunk_to_std__Xlength_error_00a043d0Calls std::_Xlength_error with vector_too_long message
0x00A043E010thunk_to_std__Xlength_error_00a043e0Calls std::_Xlength_error with vector_too_long message string
0x00A043F062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A0443062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A0472067conditional_free_12bytes_00a04720If this+4 is nonzero, frees 0xc bytes via operator delete.
0x00A0477067conditional_free_16bytes_00a04770If this+4 is nonzero, frees 0x10 bytes via operator delete.
0x00A047C078conditional_free_12bytes_00a047c0If this+4 is nonzero, frees 0xc bytes via operator delete.
0x00A0481078conditional_free_16bytes_00a04810If this+4 is nonzero, frees 0x10 bytes via operator delete.
0x00A04900263std__map_int__subscript_or_insert_00a04900std::map<int,T> subscript operator. Searches the RB-tree for key *param_2. If found, returns pointer to value. If not found, allocates a 0x18-byte node, inserts it into the tree, and returns pointer to the value field (node+5). Throws on overflow (0xaaaaaaa max).
0x00A04A1083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A04A7083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A04AD083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A0819078std__map_lower_boundstd::map/set RB-tree lower_bound implementation. Searches for key >= *param_3 in the tree rooted at *param_1. Stores result iterator in *param_2. Returns sentinel node if not found.
0x00A081E078std__map_lower_bound_00a081e0std::map/set RB-tree lower_bound implementation (duplicate). Searches for key >= *param_3 in the tree rooted at *param_1. Stores result iterator in *param_2.
0x00A0823034memcpy_range_to_dest_00a08230Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past end of copied data.
0x00A08260418std__vector_int_resize_and_copyResizes std::vector<int> to param_2 elements. Allocates new buffer with 1.5x growth, zero-fills new elements, copies old data, frees old buffer. Max 0x3FFFFFFF elements.
0x00A0844028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A0846085std__rotate_int_ptrstd::rotate for int pointers. Rotates range [first, middle, last) using 3 reverse operations. Handles degenerate cases (first==middle, middle==last). Returns iterator to new position of old first element.
0x00A087E033std__any_release_callback_fReleases std::any callback at offset 9 (variant f, no SEH). Calls virtual destroy if non-null, zeroes pointer.
0x00A0881033std__any_release_callback_gReleases std::any callback at offset 9 (variant g, no SEH). Calls virtual destroy if non-null, zeroes pointer.
0x00A0D9D068delegate_scalar_deleting_dtor_00a0d9d0Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DA2068delegate_scalar_deleting_dtor_00a0da20Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DA7068delegate_scalar_deleting_dtor_00a0da70Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DAC068delegate_scalar_deleting_dtor_00a0dac0Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DB1068delegate_scalar_deleting_dtor_00a0db10Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DB6068delegate_scalar_deleting_dtor_00a0db60Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DBB068delegate_scalar_deleting_dtor_00a0dbb0Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DC0068delegate_scalar_deleting_dtor_00a0dc00Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DC5068delegate_scalar_deleting_dtor_00a0dc50Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DD4068delegate_scalar_deleting_dtor_00a0dd40Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DD9068delegate_scalar_deleting_dtor_00a0dd90Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DDE068delegate_scalar_deleting_dtor_00a0dde0Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DE3068delegate_scalar_deleting_dtor_00a0de30Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DE8068delegate_scalar_deleting_dtor_00a0de80Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0DED068delegate_scalar_deleting_dtor_00a0ded0Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero.
0x00A0EA0010thunk_to_std__Xlength_error_00a0ea00Thunk calling std::_Xlength_error with vector_too_long message
0x00A0EA1062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A0EA50103std__list_string__compare_equal_00a0ea50Compares two STL list<string> objects for equality. First checks if sizes match, then iterates both lists in parallel comparing each string element using std::char_traits::eq. Returns true if all elements match.
0x00A0EAC037std__list_string__swap_00a0eac0Swaps two STL list<string> objects by exchanging their head pointer (field 0) and size (field 1). Simple 2-field swap, no deep copy needed.
0x00A0F5B034std__copy_memmoveSTL _Copy_memmove implementation. Copies contiguous range [first, last) to destination using memcpy. Returns pointer past end of copied data. Used by std::vector during reallocation.
0x00A0F5E0418std__vector_ptr__reallocate_and_grow_00a0f5e0Reallocates an STL vector<ptr> to at least param_2 elements. Computes new capacity (1.5x growth), allocates aligned buffer, memset-zeroes new elements, memcpy's old data, frees old buffer, updates begin/end/capacity pointers. Throws length_error or bad_alloc on overflow.
0x00A0F7C028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A0F7E085std__rotate_ptrs_00a0f7e0Rotates a range of pointers. Three swap operations: [first,mid), [mid,last). If first==mid, sets output=last; if mid==last, sets output=first. Otherwise performs three reverse operations and stores resulting midpoint. Used by STL algorithm std::rotate.
0x00A15D0068delegate_scalar_deleting_dtor_00a15d00Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory.
0x00A15D5068delegate_scalar_deleting_dtor_00a15d50Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory.
0x00A15DA068delegate_scalar_deleting_dtor_00a15da0Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory.
0x00A15DF068delegate_scalar_deleting_dtor_00a15df0Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory.
0x00A15E4068delegate_scalar_deleting_dtor_00a15e40Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory.
0x00A15E9068delegate_scalar_deleting_dtor_00a15e90Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory.
0x00A15EE068delegate_scalar_deleting_dtor_00a15ee0Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory.
0x00A1607068delegate_scalar_deleting_dtor_00a16070Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory.
0x00A168C010thunk_to_std__Xlength_error_00a168c0Calls std::_Xlength_error with vector_too_long error message
0x00A168D062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A16F7099std__pair_string_dtorDestroys a pair of two std::strings. SEH protected.
0x00A18B3034std__copy_range_to_buffer_00a18b30Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the copied data in destination.
0x00A18B6034std__copy_range_to_buffer_00a18b60Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the copied data in destination.
0x00A18B9034std__copy_range_to_buffer_00a18b90Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the copied data in destination.
0x00A18BC0452std__vector_int_emplace_00a18bc0STL vector<int> emplace/insert at position. Allocates new buffer with 1.5x growth, copies element, splits existing data around insertion point, frees old buffer. Returns pointer to inserted element.
0x00A18D90418std__vector_int_resize_00a18d90STL vector<int> resize to param_2 elements. Zero-initializes new elements. Uses 1.5x growth strategy. Max size 0x3FFFFFFF elements (4-byte elements).
0x00A18F40418std__vector_ptr_resize_00a18f40STL vector<pointer> resize to param_2 elements. Zero-initializes new elements. Uses 1.5x growth strategy. Max size 0x3FFFFFFF elements.
0x00A192A028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A192C028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A192E085std__rotate_int_ptrs_00a192e0STL rotate implementation for int* iterators. Rotates range [param_2, param_4) around param_3. Uses swap_ranges. Returns new middle position.
0x00A1934085std__rotate_ptr_ptrs_00a19340STL rotate implementation for pointer iterators. Rotates range [param_2, param_4) around param_3. Uses swap_ranges. Returns new middle position.
0x00A1AD60129std__vector_free_buffer_00a1ad60Frees the backing buffer of an STL vector. Handles aligned allocation cleanup for buffers > 0xFFF bytes. Zeros the begin/end/capacity pointers.
0x00A1ADF0129std__vector_free_buffer_00a1adf0Frees the backing buffer of an STL vector. Handles aligned allocation cleanup for buffers > 0xFFF bytes. Zeros the begin/end/capacity pointers.
0x00A3B2C0341std__any__swap_00a3b2c0Swaps two polymorphic wrapper objects (std::any or std::function). Uses SEH. If both store external pointers, swaps them directly. If either stores inline (SBO), uses virtual copy+destroy to safely exchange via temp buffer.
0x00A3B420341std__any__swap_00a3b420Swaps two polymorphic wrapper objects. Uses SEH. Handles both inline (SBO) and heap-allocated storage with virtual copy+destroy.
0x00A3B580341std__any__swap_00a3b580Swaps two polymorphic wrapper objects. Uses SEH. Handles both inline (SBO) and heap-allocated storage with virtual copy+destroy.
0x00A3B6E0341std__any__swap_00a3b6e0Swaps two polymorphic wrapper objects. Uses SEH. Handles both inline (SBO) and heap-allocated storage with virtual copy+destroy.
0x00A3B840341std__any__swap_00a3b840Swaps two polymorphic wrapper objects. Uses SEH. Handles both inline (SBO) and heap-allocated storage with virtual copy+destroy.
0x00A3BE0010thunk_to_std__Xlength_error_00a3be00Calls std::_Xlength_error with vector_too_long message
0x00A3BE1010thunk_to_std__Xlength_error_00a3be10Wrapper that calls std::_Xlength_error with vector_too_long message
0x00A3BE2010thunk_to_std__Xlength_error_00a3be20Thunk that calls std::_Xlength_error with vector_too_long message
0x00A3BE3062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A3BE7062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A3BEB062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A3BEF0103std__vector__resize_int_00a3bef0Resizes a vector of 4-byte elements (int/ptr). If new size is smaller, truncates. If larger, zero-fills new elements via memset. If exceeds capacity, calls reallocation helper.
0x00A3BF60103std__map__destroy_subtree_00a3bf60Recursively destroys a red-black tree subtree. For each non-nil node, recursively destroys right child, then iteratively destroys left children. Frees each 0x18-byte node via operator delete.
0x00A3BFD0516std__map__find_insert_position_00a3bfd0Finds the correct insertion position in a red-black tree (std::map) for a given key. Returns a result struct with: parent node, direction (left=1/right=0), and whether key already exists. Uses integer key comparison. Handles hint-based optimization and falls back to full tree traversal.
0x00A3C1E075std__map__lower_bound_00a3c1e0Performs lower_bound search in a red-black tree (std::map) for an integer key. Traverses the BST recording the last node where key <= node.key. Returns result struct with found node, direction flag, and boundary node.
0x00A3C230128linked_list__clear_with_two_strings_00a3c230Clears a singly-linked list. For each 0x70-byte node, destroys two STL strings then frees the node. Resets list count to 0.
0x00A3C2B0111linked_list__clear_with_string_00a3c2b0Clears a singly-linked list. For each 0x2c-byte node, destroys one STL string then frees the node. Resets list count to 0.
0x00A3C320111linked_list__clear_with_string_00a3c320Clears a singly-linked list. For each 0x24-byte node, destroys one STL string then frees the node. Resets list count to 0.
0x00A3D19067free_node_0x70_00a3d190Frees a 0x70-byte heap node if the pointer at offset+4 is non-null. Used as a deleter for linked list nodes containing two strings.
0x00A3D1E067free_node_0x2c_00a3d1e0Frees a 0x2c-byte heap node if the pointer at offset+4 is non-null. Used as a deleter for linked list nodes containing one string.
0x00A3D23067free_node_0x24_00a3d230Frees a 0x24-byte heap node if the pointer at offset+4 is non-null.
0x00A3D28067free_node_0x18_00a3d280Frees a 0x18-byte heap node if the pointer at offset+4 is non-null.
0x00A3D460111std__map__clear_and_destroy_00a3d460Destroys an entire std::map. Iterates from leftmost node, recursively destroys right subtrees via std__map__destroy_subtree, then frees each 0x18-byte node. Finally frees the sentinel/header node.
0x00A3D4E078free_node_0x18_alt_00a3d4e0Frees a 0x18-byte heap node if the pointer at offset+4 is non-null. SEH-wrapped variant.
0x00A3D53078free_node_0x18_alt2_00a3d530Frees a 0x18-byte heap node if the pointer at offset+4 is non-null. SEH-wrapped variant.
0x00A3D580129std__vector__dealloc_00a3d580Deallocates a std::vector's internal buffer. Computes allocation size from capacity - begin, handles debug heap alignment (>0xFFF gets original ptr from -4 offset + 0x23 alignment). Zeroes all 3 vector pointers after free.
0x00A43E20517std__Tree_val__Insert_node_00a43e20STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00A47D40418STL_vector_int__resize_and_copyResizes a std::vector<int> to param_2 elements. Allocates new buffer with 1.5x growth factor (capped at 0x3FFFFFFF), copies existing data, zero-fills new elements, frees old buffer. Updates the vector's begin/end/capacity pointers. Throws length_error if size exceeds max.
0x00A47F2028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A47F4085STL_vector_int__rotate_rangesRotates elements in a vector using three range swap operations. Handles edge cases where param_2==param_3 (just set result to param_4) or param_3==param_4 (just set result to param_2). Otherwise does three FUN_00e614e1 swaps and calculates the new midpoint.
0x00A4D0C0341std__any__swap_variant_00a4d0c0Swaps the std::any-like variant at field[9] between two objects. If both hold external pointers, swaps directly. If one or both hold internal (in-situ) storage, uses clone (vtable+4) and destroy (vtable+0x10) to safely swap.
0x00A4D2B010thunk_to_std__Xlength_error_00a4d2b0Thunk that calls std::_Xlength_error with vector_too_long message
0x00A4D2C062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A4D300111linked_list__clear_nodes_00a4d300Clears all nodes from a circular doubly-linked list. Resets tail count to 0, walks from head, destroys STL string in each 0x30-byte node, frees node memory.
0x00A4D370335STL_wstring__insert_grow_00a4d370STL wstring insert with grow. Grows the wstring buffer using 1.5x growth strategy (min 7 extra). Copies prefix, inserted data, and suffix using memcpy. Handles freeing old buffer for heap-allocated strings. Returns param_1.
0x00A4D4C0222linked_list__merge_sort_00a4d4c0Merge sort for a circular doubly-linked list. Recursive divide-and-conquer: splits list in half, sorts each, merges by comparing field[9] (sort key). Used for sorting list items.
0x00A4D5A066linked_list__find_by_string_00a4d5a0linked_list: find by string 00a4d5a0
0x00A4D5F047linked_list__advance_iterator_00a4d5f0Advances a linked list iterator by param_3 steps. Positive = forward (follow node[0]), negative = backward (follow node[1]). Stores result in *param_1.
0x00A4D7E067linked_list__free_sentinel_00a4d7e0Frees the 0x30-byte sentinel node at field+4. SEH-wrapped. Only frees if non-null.
0x00A4D830116linked_list__destroy_sentinel_and_string_00a4d830Destroys the sentinel node at field+4, including its embedded STL string. Frees the 0x30-byte node. SEH-wrapped.
0x00A4D8B0126linked_list__clear_all_nodes_00a4d8b0Clears all nodes from a linked list. Resets head/count at field+8/+0xC to 0, walks from tail node, destroys STL string in each 0x28-byte node, frees memory.
0x00A4D93068STL_string__dtor_seh_wrapper_00a4d930SEH-wrapped STL string destructor. Calls STL_string_dtor on param_1.
0x00A4EBC010thunk_to_std__Xout_of_range_00a4ebc0Thunk that calls std::_Xout_of_range with invalid_string_position error
0x00A4F2B0227STL_wstring__insert_at_00a4f2b0STL wstring insert at position. Inserts param_4 wchars from param_3 at position param_2. If buffer has capacity, shifts existing content and copies in-place. If not, delegates to STL_wstring__insert_grow. Handles overlapping source ranges.
0x00A4F3A034memcpy_range_to_dest_00a4f3a0Copies memory from param_1 to param_3, size = param_2 - param_1. Returns end of copied data in param_3.
0x00A4F3D0418STL_vector__resize_and_copy_00a4f3d0STL vector resize with 1.5x growth. Allocates new buffer, zero-fills new elements, copies old data via memcpy. Frees old buffer. Max capacity 0x3FFFFFFF. Uses aligned allocation for large buffers (>0xFFF).
0x00A4F5B028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A4F5D085STL_vector__rotate_range_00a4f5d0Rotates a range of vector elements. Three-way swap using FUN_00e614e1 to move block [param_2,param_3) before [param_3,param_4). Returns new position of the original first element.
0x00A54A20341std__any_swap_00a54a20Swaps two std::any-like objects. If both have external storage, swaps pointers directly. Otherwise uses virtual clone/destroy to handle local/remote storage correctly via vtable calls at offsets +4 (clone) and +0x10 (destroy).
0x00A54C0010thunk_to_std__Xlength_error_00a54c00Forwards to std::_Xlength_error for vector allocation failure
0x00A54C1062deallocateSTL allocator deallocate function. Frees memory for an array of elements (count * 4 bytes). Handles over-aligned allocations (>0xFFF bytes) by looking up the original allocation pointer at offset -4.
0x00A550A067free_member_buffer_00a550a0Frees a 0x10-byte buffer at this+4 if non-null, via FUN_00e6227f (operator delete).
0x00A550F078free_member_buffer_alt_00a550f0Frees a 0x10-byte buffer at this+4 if non-null (same pattern as free_member_buffer_00a550a0, different SEH setup).
0x00A5666034memcpy_range_00a56660Copies a memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past the end of destination.
0x00A56690452std__vector_int__emplace_grow_00a56690std::vector<int> growth/emplace helper. Reallocates with 1.5x growth, inserts a new element at param_2 position, copies existing elements around insertion point via memcpy. Handles aligned allocation for large buffers. Max capacity 0x3fffffff.
0x00A5847022callback_functor_init_a_00a58470Initializes a callback functor. Sets vtable to PTR_FUN_01154348 and copies the owner pointer from this+4.
0x00A5849022callback_functor_init_b_00a58490Initializes a callback functor. Sets vtable to PTR_FUN_01154364 and copies the owner pointer from this+4.
0x00A584B068callback_functor_scalar_deleting_dtor_a_00a584b0Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A5850068callback_functor_scalar_deleting_dtor_b_00a58500Scalar deleting destructor for 8-byte callback functor (variant b). Frees if param_2 != 0.
0x00A5859022callback_functor_init_c_00a58590Initializes a callback functor. Sets vtable to PTR_FUN_01154348 and copies the owner pointer from this+4.
0x00A585B022callback_functor_init_d_00a585b0Initializes a callback functor. Sets vtable to PTR_FUN_01154364 and copies the owner pointer from this+4.
0x00A585F010thunk_to_std__Xlength_error_00a585f0Calls std::_Xlength_error with vector_too_long message
0x00A5860062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A58880129STL_vector_ptr__clear_and_freeClears and frees a std::vector of pointers. If the buffer is non-null, calculates the allocation size (capacity - begin, aligned to 4 bytes), frees it via FUN_00e6227f, and zeroes begin/end/capacity pointers.
0x00A592C093std__any_emplace_00a592c0std::any emplace constructor. Sets vtable to PTR_FUN_01154878, stores value at [1], sets storage pointer at [9] to self (small object optimization).
0x00A5932093std__any_emplace_00a59320std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable.
0x00A5938093std__any_emplace_00a59380std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable.
0x00A593E093std__any_emplace_00a593e0std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable.
0x00A5944093std__any_emplace_00a59440std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable.
0x00A594A093std__any_emplace_00a594a0std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable.
0x00A5950093std__any_emplace_00a59500std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable.
0x00A5956034memcpy_range_00a59560Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past end of destination.
0x00A5959034memcpy_range_00a59590Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past end of destination. Same pattern as 00a59560.
0x00A595C0452std__vector_int__emplace_grow_00a595c0std::vector<int> growth/emplace helper. Same pattern as 00a56690: reallocates with 1.5x growth, inserts element, copies existing data around insertion point.
0x00A59790418std__vector_int__resize_00a59790std::vector<int> resize. Allocates new buffer with 1.5x growth, zero-fills new elements, copies existing data, frees old buffer. Max capacity 0x3fffffff.
0x00A5997028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A5999085std__rotate_int_ptr_00a59990std::rotate for int pointers. Rotates range [param_2, param_4) around pivot param_3. Uses FUN_00e614e1 for swapping sub-ranges. Returns iterator to new position of original first element.
0x00A59E1033std__any_reset_00a59e10Resets/destroys a std::any object. If storage pointer at [9] is non-null, calls virtual destroy method at vtable+0x10, then sets [9] to null.
0x00A59E4092std__any_reset_seh_00a59e40Resets/destroys a std::any object with SEH protection. Same as std__any_reset but wrapped in exception handler.
0x00A59EA0129std__vector_int__clear_and_free_00a59ea0Clears and frees a std::vector<int>. Frees the underlying buffer (handling aligned allocation), then zeros the begin/end/capacity pointers.
0x00A59F30164std__function_copy_construct_00a59f30Copy constructor for std::function. Clones the callable from source (param_2+0x24) via virtual clone, then swaps into the destination via std__function_swap.
0x00A6432022callback_functor_init_00a64320Initializes a callback functor. Sets vtable to PTR_FUN_0115477c and copies owner pointer from this+4.
0x00A6434022callback_functor_init_00a64340Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6436022callback_functor_init_00a64360Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6438022callback_functor_init_00a64380Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A643A022callback_functor_init_00a643a0Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A643C022callback_functor_init_00a643c0Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A643E022callback_functor_init_00a643e0Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6440022callback_functor_init_00a64400Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6442022callback_functor_init_00a64420Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6444022callback_functor_init_00a64440Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6446022callback_functor_init_00a64460Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6448022callback_functor_init_00a64480Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A644A022callback_functor_init_00a644a0Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A644C022callback_functor_init_00a644c0Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A644E022callback_functor_init_00a644e0Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6450022callback_functor_init_00a64500Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6452022callback_functor_init_00a64520Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6454022callback_functor_init_00a64540Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6456022callback_functor_init_00a64560Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6458022callback_functor_init_00a64580Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A645A022callback_functor_init_00a645a0Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A645C022callback_functor_init_00a645c0Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A645E022callback_functor_init_00a645e0Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6460022callback_functor_init_00a64600Initializes a callback functor. Sets vtable and copies owner pointer.
0x00A6462068callback_functor_scalar_deleting_dtor_00a64620Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A6467068callback_functor_scalar_deleting_dtor_00a64670Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A646C068callback_functor_scalar_deleting_dtor_00a646c0Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A6471068callback_functor_scalar_deleting_dtor_00a64710Scalar deleting destructor for a callback functor. Calls destructor and optionally frees memory.
0x00A6476068callback_functor_scalar_deleting_dtor_00a64760Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A647B068callback_functor_scalar_deleting_dtor_00a647b0Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A6480068callback_functor_scalar_deleting_dtor_00a64800Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A6485068callback_functor_scalar_deleting_dtor_00a64850Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A648A068callback_functor_scalar_deleting_dtor_00a648a0Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A648F068callback_functor_scalar_deleting_dtor_00a648f0Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A6494068callback_functor_scalar_deleting_dtor_00a64940Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A6499068callback_functor_scalar_deleting_dtor_00a64990Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A649E068callback_functor_scalar_deleting_dtor_00a649e0Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A64A3068callback_functor_scalar_deleting_dtor_00a64a30Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0.
0x00A65540341std__function_swap_00a65540Swaps two std::function objects. Uses small-buffer optimization: if both have external storage, swaps pointers directly. Otherwise, uses copy-construct + destroy pattern via vtable methods (clone at vtable+4, destroy at vtable+0x10).
0x00A6582010thunk_to_std__Xlength_error_00a65820Forwards to std::_Xlength_error with vector_too_long error message
0x00A6583010thunk_to_std__Xlength_error_00a65830Calls std::_Xlength_error with vector_too_long error message
0x00A6584062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A6588062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A65C70129STL_vector_ptr__clear_and_free_00a65c70Clears and frees a std::vector of pointers. Same pattern as STL_vector_ptr__clear_and_free: frees buffer, zeroes begin/end/capacity. Duplicate at different address for UITabControl context.
0x00A67FC034memcpy_range_00a67fc0Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the end of copied data.
0x00A67FF034memcpy_range_00a67ff0Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the end of copied data.
0x00A68020418std__vector_reallocate_00a68020std::vector reallocation with growth factor 1.5x. Allocates new buffer, zero-fills new elements, copies old data, frees old buffer. Throws length_error if param_2 > 0x3FFFFFFF.
0x00A681D0418std__vector_reallocate_00a681d0std::vector reallocation with growth factor 1.5x. Allocates new buffer, zero-fills new elements, copies old data, frees old buffer. Throws length_error if param_2 > 0x3FFFFFFF.
0x00A683E028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A6840028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A6842085std__rotate_int_ptr_00a68420Rotates elements in a range of int pointers. Handles trivial cases (first==mid, mid==last), otherwise performs 3 reverse operations to rotate. Returns pointer to new position of first element.
0x00A6848085std__rotate_int_ptr_00a68480Rotates elements in a range of int pointers. Same as 00a68420 but different instantiation.
0x00A68B2033std__function_destroy_00a68b20Destroys a std::function object stored at this+9. Calls the destroy method (vtable+0x10), passing whether storage is external. Nulls the pointer.
0x00A68B5033std__function_destroy_00a68b50Destroys a std::function object stored at this+9. Same pattern as 00a68b20.
0x00A68B8092std__function_destroy_seh_00a68b80Destroys a std::function with SEH frame. Same logic as std__function_destroy but wrapped in SEH.
0x00A68BE092std__function_destroy_seh_00a68be0Destroys a std::function with SEH frame. Same logic as std__function_destroy but wrapped in SEH.
0x00A68CD0129std__vector_free_buffer_00a68cd0Frees the std::vector internal buffer. Handles aligned allocation (>0xFFF) by looking up original pointer. Sets all three vector pointers (begin/end/capacity) to 0.
0x00A68D60129std__vector_free_buffer_00a68d60Frees the std::vector internal buffer. Same as 00a68cd0 - different instantiation.
0x00A6F2E010thunk_to_std__Xlength_error_00a6f2e0Thunk that calls std::_Xlength_error with vector_too_long message
0x00A6F2F010thunk_to_std__Xlength_error_00a6f2f0Calls std::_Xlength_error with vector_too_long error message
0x00A6F30062std__allocator_deallocate_00a6f300std::allocator::deallocate - frees memory allocated for elements. Multiplies count by 4 (sizeof uint/pointer). For large allocations (>0xFFF bytes), retrieves the original allocation pointer from offset -4 and adds alignment padding (0x23 bytes).
0x00A6F34062std__allocator_deallocate_00a6f340std::allocator::deallocate - frees memory allocated for elements. Multiplies count by 4 (sizeof uint/pointer). For large allocations (>0xFFF bytes), retrieves the original allocation pointer from offset -4 and adds alignment padding (0x23 bytes). Duplicate of 00a6f300 for a different template instantiation.
0x00A6F380111linked_list__clear_with_string_dtorClears a linked list, destroying each 0x28-byte node that contains a std::string. Zeroes the count, iterates the forward list, calls STL_string_dtor on each node's string, then frees each node.
0x00A6F5E067linked_list_node__free_0x28Frees a 0x28-byte linked list node. Checks if the node pointer at offset +4 is non-null before freeing.
0x00A6F630116linked_list_node__dtor_string_and_freeDestroys a linked list node containing a std::string. First destroys the string (STL_string_dtor) if the node exists, then frees the 0x28-byte node.
0x00A6F6B068STL_string_dtor_wrapperSimple wrapper around STL_string_dtor. Destroys a std::string object passed as parameter.
0x00A70C20452STL_vector_int__insert_and_growInserts an element into a std::vector<int> at position param_2, growing if needed. Allocates new buffer with 1.5x growth factor, copies data before and after insertion point, places new value from param_3. Frees old buffer. Updates begin/end/capacity. Returns pointer to inserted element.
0x00A70DF0118std__map_int__destroy_treeDestroys a std::map<int,...> tree structure. Iterates the tree's linked nodes (checking the sentinel flag at offset +0xD), recursively destroys child subtrees via FUN_00a70e70, frees each 0x18-byte node. Also frees the root sentinel node.
0x00A70E70103std__map_int__recursive_destroy_subtreeRecursively destroys a subtree of a std::map. For each non-sentinel node (flag at +0xD is 0), recursively destroys the child subtree (offset +2), then frees the 0x18-byte node and advances to the next sibling.
0x00A70EE0418STL_vector_int__resize_and_copy_00a70ee0Resizes a std::vector<int> to param_2 elements with 1.5x growth. Copies existing data, zero-fills new elements. Duplicate of STL_vector_int__resize_and_copy at different address.
0x00A710C028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A710E085STL_vector_int__rotate_ranges_00a710e0Rotates elements in a vector using three swap operations. Duplicate of STL_vector_int__rotate_ranges.
0x00A715A066std__map_int__destroy_tree_wrapperSimple wrapper around std__map_int__destroy_tree with SEH frame setup. Destroys a map tree structure.
0x00A715F0129STL_vector_ptr__clear_and_free_00a715f0Clears and frees a std::vector of pointers. Frees the buffer, zeroes begin/end/capacity. Duplicate at different address for ShopListCtrl context.
0x00A76DC010thunk_to_std__Xlength_error_00a76dc0Throws std::length_error for vector overflow condition
0x00A76DD010thunk_to_std__Xlength_error_00a76dd0Calls std::_Xlength_error with vector_too_long message, never returns
0x00A76DE062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A76E2062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A76E60238std__map__recursive_copy_treeRecursively copies a std::map tree. For each non-sentinel node, allocates a 0x18-byte node, copies key/value (offsets +4/+5), recursively copies left and right subtrees. Returns pointer to the root of the copied tree.
0x00A76FE0103std__map__recursive_destroy_subtree_0x18Recursively destroys a std::map subtree. For each non-sentinel node (flag at +0xD is 0), recursively destroys child subtree at offset +2, frees 0x18-byte node, advances to next sibling. Same pattern as std__map_int__recursive_destroy_subtree.
0x00A770D0144std__map__move_constructMove-constructs a std::map. Copies the comparator, allocates a sentinel node, then swaps the root pointer and count with the source map (effectively moving ownership).
0x00A773D067linked_list_node__free_0x14Frees a 0x14-byte linked list node if the pointer at offset +4 is non-null.
0x00A7742067linked_list_node__free_0x18Frees a 0x18-byte linked list node if the pointer at offset +4 is non-null.
0x00A77470124linked_list_node__dtor_map_and_free_0x14Destroys a 0x14-byte linked list node containing a std::map tree at offset +0xC. First destroys the map tree, then frees the node.
0x00A77510129STL_vector_ptr__clear_and_free_00a77510Clears and frees a std::vector of pointers. Frees the buffer, zeroes begin/end/capacity. Duplicate at different address for UIListMenu context.
0x00A775A0178STL_vector_map__clear_and_freeClears and frees a std::vector of std::map objects. Iterates each 8-byte element, calls std__map_int__destroy_tree on each, then frees the vector buffer and zeroes begin/end/capacity.
0x00A78DF0153std__vector_copy_range_ctorstd::vector copy constructor from range [param_2, param_3). Allocates buffer, memcpy's source data. Element size determined by range difference.
0x00A79050105std__vector_destroy_range_3cDestroys elements in a vector range. Iterates from param_1 to param_2 in 0x3C-byte steps, calling string destructors for each element.
0x00A790C0104std__vector_destroy_range_1cDestroys elements in a vector range. Iterates from param_1 to param_2 in 0x1C-byte steps, calling destructors for each element.
0x00A79130166std__list_insert_node_00a79130Inserts a new node into a std::list. Allocates 0xC-byte node, copies value from param_3. Links into doubly-linked list before param_2. Max size 0x15555555.
0x00A791E0581std__vector_emplace_grow_3cstd::vector grow-and-emplace for 0x3C-byte elements. Calculates new capacity (1.5x growth), allocates new buffer, constructs new element, relocates existing elements, frees old buffer. Max 0x4444444 elements.
0x00A79430464std__vector_emplace_grow_1cstd::vector grow-and-emplace for 0x1C-byte elements. 1.5x growth policy, max 0x9249249 elements. Allocates new buffer, constructs element, relocates existing data, frees old buffer.
0x00A79630337std__vector_emplace_grow_4std::vector grow-and-emplace for 4-byte (pointer) elements. 1.5x growth, max 0x3FFFFFFF. Uses memcpy for relocation since elements are trivially copyable.
0x00A797A0137std__vector_relocate_elements_3cRelocates 0x3C-byte vector elements from [param_1,param_2) to destination at param_3 using move construction. Destroys leftover elements at destination end.
0x00A79830117std__element_copy_construct_3cCopy-constructs a 0x3C-byte element. Copies 3 scalar fields then copy-constructs two embedded strings (at offset 12 and 36).
0x00A798B0103std__element_copy_construct_1cCopy-constructs a 0x1C-byte element. Calls vector copy ctor for first sub-element, copies scalar at offset 0xC, then copies second sub-element at offset 0x10.
0x00A79920152std__vector_copy_ctorstd::vector copy constructor. Initializes empty vector, allocates buffer matching source size, memcpy's all data from source.
0x00A799C0204std__element_move_construct_3cMove-constructs a 0x3C-byte element with two embedded strings. Copies scalar fields, moves string data by stealing internal buffer pointers, resets source strings to empty state (capacity 0xF).
0x00A79D30129std__vector_free_buffer_00a79d30Frees a std::vector's internal buffer and resets begin/end/capacity pointers to 0. Handles aligned allocation (4KB+ buffers have offset stored at ptr-4).
0x00A79DD086std__element_destroy_1cDestroys a single 0x1C-byte element by calling two sub-object destructors.
0x00A79E3087std__element_destroy_3cDestroys a single 0x3C-byte element by calling two string destructors.
0x00A86C4022std__vector_destroy_range_3c_wrapperWrapper that forwards to std__vector_destroy_range_3c with reordered parameters.
0x00A86C6022std__vector_destroy_range_1c_wrapperWrapper that forwards to std__vector_destroy_range_1c with reordered parameters.
0x00A86E90174std__vector_clear_and_free_1c_00a86e90Clears and frees a std::vector with 0x1C-byte elements. Destroys all elements, frees buffer (handles aligned allocations), resets to empty.
0x00A86F50176std__vector_relocate_range_1cRelocates a range of 0x1C-byte elements. For each element, copy-constructs to new location (copies 2 sub-vectors + 1 scalar). Destroys leftover elements.
0x00A87000174std__vector_copy_range_1cCopies a range of 0x1C-byte elements (each containing 2 sub-vectors + 1 scalar at +0xC). Destroys leftover elements at end.
0x00A870B010thunk_to_std__Xlength_error_00a870b0Calls std::_Xlength_error with vector_too_long error message
0x00A870C010thunk_to_std__Xlength_error_00a870c0Forwards to std::_Xlength_error with vector_too_long message
0x00A870D010thunk_to_std__Xlength_error_00a870d0Wrapper calling std::_Xlength_error for vector allocation failure
0x00A870E092std__vector_allocate_aligned_4byteAllocates aligned buffer for a std::vector of 4-byte elements. Multiplies count by 4. For >=4096 bytes uses 32-byte aligned allocation with stored original pointer. Max 0x40000000 elements.
0x00A87140102std__vector_allocate_aligned_1cAllocates aligned buffer for std::vector of 0x1C-byte elements. For >=4096 bytes uses 32-byte aligned allocation. Max 0x924924A elements.
0x00A8722062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00A8726064std__allocator_deallocate_3cDeallocates buffer for std::vector of 0x3C-byte elements. Handles aligned allocations (>=4096 bytes have stored original pointer at offset -4).
0x00A872B067std__allocator_deallocate_1cDeallocates buffer for std::vector of 0x1C-byte elements. Handles aligned allocations (>=4096 bytes have stored original pointer at offset -4).
0x00A874B0108std__deque_find_elementSearches a std::deque for an element matching *param_2. Iterates from offset param_1[3] through param_1[3]+param_1[4] elements. Returns packed result with found flag in low byte.
0x00A87520116std__tree_copy_and_update_boundsCopies a std::tree (red-black tree) from source to destination. Copies all nodes via std__tree_copy_nodes_0x18, updates size, and recalculates leftmost/rightmost bounds.
0x00A875A034std__uninitialized_copy_bufferCopies a contiguous memory range via memcpy. Copies from param_1 to param_3, length is (param_2 - param_1). Returns end pointer in destination.
0x00A875D034std__uninitialized_copy_buffer_00a875d0Copies a contiguous memory range via memcpy. Copies from param_1 to param_3, length is (param_2 - param_1). Returns end pointer in destination.
0x00A8760034memcpy_and_return_end_00a87600Copies memory from param_1 to param_3 for (param_2 - param_1) bytes. Returns pointer past the end of the destination.
0x00A87630452std__vector_insert_and_grow_4byteSTL vector insert-and-grow operation for 4-byte elements. Inserts a new element at given position, reallocating with 1.5x growth factor if capacity is exceeded. Copies existing elements around the insertion point.
0x00A87800103std__tree_destroy_nodes_20bytesRecursively destroys STL tree nodes of 0x14 (20) bytes each. Walks the linked list, recursively processes child at offset+8, then frees each node. Stops at sentinel node (byte 0xD != 0).
0x00A87870103std__tree_destroy_nodes_24bytesRecursively destroys STL tree nodes of 0x18 (24) bytes each. Walks the linked list, recursively processes child at offset+8, then frees each node. Stops at sentinel node (byte 0xD != 0).
0x00A878E0128std__tree_destroy_nodes_with_string_44bytesRecursively destroys STL tree nodes of 0x2C (44) bytes. For each node, recursively processes child at offset+8, destroys an embedded STL string, then frees the node. Stops at sentinel (byte 0xD != 0).
0x00A87960103std__tree_destroy_nodes_24bytes_00a87960Recursively destroys STL tree nodes of 0x18 (24) bytes each. Identical pattern to other tree destroy functions. Stops at sentinel node.
0x00A879D0103std__tree_destroy_nodes_24bytes_00a879d0Recursively destroys STL tree nodes of 0x18 (24) bytes each. Identical pattern to other tree destroy functions. Stops at sentinel node.
0x00A87A40103std__tree_destroy_nodes_24bytes_00a87a40Recursively destroys STL tree nodes of 0x18 (24) bytes each. Identical pattern to other tree destroy functions. Stops at sentinel node.
0x00A87AB0103std__tree_destroy_nodes_68bytesRecursively destroys STL tree nodes of 0x44 (68) bytes each. Walks linked list, recursively processes child at offset+8, then frees each node. Stops at sentinel node.
0x00A87B2099_Find_last<>STL _Find_last. Searches backward through a range to find the last matching element.
0x00A87B9075std__tree_lower_bound_int_00a87b90STL RB-tree lower_bound for integer keys. Walks tree comparing key at node+0x10 against search key. Returns iterator result (current, found-flag, bound-node).
0x00A87BE075_Find_lower_bound<>STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree.
0x00A87C3075_Find_lower_bound<>STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree.
0x00A87C8075_Find_lower_bound<>STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree.
0x00A87CD0129std__tree_lower_bound_by_stringSTL RB-tree lower_bound for string keys. Walks tree comparing STL string at node+0x10 against search string using std::char_traits::compare. Returns iterator result.
0x00A87D6075std__tree_lower_bound_int_00a87d60STL RB-tree lower_bound for integer keys. Duplicate instance operating on a different tree. Same pattern as std__tree_lower_bound_int.
0x00A87DB075std__tree_lower_bound_intSTL std::_Tree lower_bound implementation for integer keys. Traverses BST comparing key at node+0x10 against search key.
0x00A87F8037_Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_>STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset.
0x00A87FB028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00A87FD0519std__unordered_map_emplace_00a87fd0std::unordered_map emplace operation. Hashes key with FNV-1a, finds bucket via _Find_last, allocates new node if not found. Handles rehashing when load factor exceeded. Throws std::_Xlength_error if at max capacity.
0x00A881E097fill<>STL std::fill for 4-byte pointer ranges. Uses unrolled 4-element loop for large ranges, then fills remainder one at a time.
0x00A88250240std__tree_emplace_24bytesSTL tree emplace for nodes of 0x18 (24) bytes. Uses _Find_lower_bound to locate insertion point, allocates node, calls Insert_node. Returns iterator+bool pair.
0x00A88350234std__tree_emplace_20bytesSTL tree emplace for nodes of 0x14 (20) bytes. Uses _Find_lower_bound to locate insertion point, allocates node, calls Insert_node. Returns iterator+bool pair.
0x00A8844034memcpy_range_to_dest_00a88440Copies memory range [param_1, param_2) to param_3. Returns pointer past the end of copied data.
0x00A88BC067std__tree_free_node_12bytesSTL tree node deallocator. Frees a 0xC (12) byte tree node if non-null.
0x00A88C1067std__tree_free_node_20bytesSTL tree node deallocator. Frees a 0x14 (20) byte tree node if non-null.
0x00A88C6067std__tree_free_node_36bytesSTL tree node deallocator. Frees a 0x24 (36) byte tree node if non-null.
0x00A88CB067std__tree_free_node_12bytes_00a88cb0STL tree node deallocator. Frees a 0xC (12) byte tree node if non-null.
0x00A88D0067std__tree_free_node_20bytes_00a88d00STL tree node deallocator. Frees a 0x14 (20) byte tree node if non-null.
0x00A88D5067std__tree_free_node_24bytesSTL tree node deallocator. Frees a 0x18 (24) byte tree node if non-null.
0x00A88DA067std__tree_free_node_44bytesSTL tree node deallocator. Frees a 0x2C (44) byte tree node if non-null.
0x00A88DF067std__tree_free_node_24bytes_00a88df0STL tree node deallocator. Frees a 0x18 (24) byte tree node if non-null.
0x00A88E4067std__tree_free_node_24bytes_00a88e40STL tree node deallocator. Frees a 0x18 (24) byte tree node if non-null.
0x00A88E9067std__tree_free_node_24bytes_00a88e90STL tree node deallocator. Frees a 0x18 (24) byte tree node if non-null.
0x00A88EE067std__tree_free_node_68bytesSTL tree node deallocator. Frees a 0x44 (68) byte tree node if non-null.
0x00A88F30131std__list_clear_and_free_12byte_nodesClears a std::list with 0xC byte nodes. Calls vector deallocate, then iterates linked list freeing each node, then frees sentinel.
0x00A88FC0125std__vector_deallocateDeallocates std::vector internal buffer. Handles aligned allocation (>0xFFF bytes check backing pointer at buf[-4]). Resets begin/end/capacity to 0.
0x00A8905078std__list_free_sentinel_12bytesFrees a std::list sentinel node (0xC bytes) if non-null. Used in list destructor.
0x00A890A078std__list_free_sentinel_20bytesFrees a std::list sentinel node (0x14 bytes) if non-null. Used in list destructor.
0x00A890F0113std__tree_node_destroy_with_string_36bytesDestroys a std::_Tree node (0x24 bytes) that contains an embedded std::string. Calls STL_string_dtor first, then frees the node.
0x00A8917078std__list_free_sentinel_12bytes_00a89170Frees a std::list sentinel node (0xC bytes) if non-null. Duplicate instance for different container type.
0x00A891C0111std__tree_clear_and_destroy_24byte_nodes_aClears a std::_Tree with 0x18 (24) byte nodes. Iterates all nodes calling std__tree_destroy_nodes_24bytes to recursively clean up, frees each node, then frees sentinel.
0x00A89240111std__tree_clear_and_destroy_24byte_nodes_bClears a std::_Tree with 0x18 (24) byte nodes. Iterates all nodes calling std__tree_destroy_nodes_24bytes_00a87a40 to recursively clean up, frees each node, then frees sentinel.
0x00A892C0111std__tree_clear_and_destroy_68byte_nodesClears a std::_Tree with 0x44 (68) byte nodes. Iterates all nodes calling std__tree_destroy_nodes_68bytes to recursively clean up, frees each node, then frees sentinel.
0x00A8934076std__tree_clear_and_destroy_44byte_nodesClears a std::_Tree with 0x2C (44) byte nodes containing embedded strings. Calls std__tree_destroy_nodes_with_string_44bytes to recursively destroy children, then frees sentinel.
0x00A893A0111std__tree_clear_and_destroy_24byte_nodes_cClears a std::_Tree with 0x18 byte nodes. Iterates all nodes calling FUN_00a87960 to clean up node data, frees each 0x18 node, then frees sentinel.
0x00A89420111std__tree_clear_and_destroy_24byte_nodes_dClears a std::_Tree with 0x18 byte nodes. Iterates all nodes calling FUN_00a879d0 to clean up node data, frees each 0x18 node, then frees sentinel.
0x00A894A0111std__tree_clear_and_destroy_20byte_nodesClears a std::_Tree with 0x14 byte nodes. Iterates all nodes calling FUN_00a87800 to clean up node data, frees each 0x14 node, then frees sentinel.
0x00A8952078std__list_free_sentinel_20bytes_00a89520Frees a std::list sentinel node (0x14 bytes) if non-null.
0x00A8957078std__list_free_sentinel_24bytesFrees a std::list sentinel node (0x18 bytes) if non-null.
0x00A895C0113std__tree_node_destroy_with_string_44bytesDestroys a std::_Tree node (0x2C bytes) that contains an embedded std::string. Calls STL_string_dtor first, then frees the node.
0x00A8964078std__list_free_sentinel_24bytes_00a89640Frees a std::list sentinel node (0x18 bytes) if non-null.
0x00A8969078std__list_free_sentinel_24bytes_00a89690Frees a std::list sentinel node (0x18 bytes) if non-null.
0x00A896E078std__list_free_sentinel_24bytes_00a896e0Frees a std::list sentinel node (0x18 bytes) if non-null.
0x00A8973078std__list_free_sentinel_68bytesFrees a std::list sentinel node (0x44 bytes) if non-null.
0x00A8978078std__list_free_sentinel_20bytes_00a89780Frees a std::list sentinel node (0x14 bytes) if non-null.
0x00A897D078std__list_free_sentinel_24bytes_00a897d0Frees a std::list sentinel node (0x18 bytes) if non-null.
0x00A8982078std__list_free_sentinel_44bytesFrees a std::list sentinel node (0x2C bytes) if non-null.
0x00A8987078std__list_free_sentinel_24bytes_00a89870Frees a std::list sentinel node (0x18 bytes) if non-null.
0x00A898C078std__list_free_sentinel_24bytes_00a898c0Frees a std::list sentinel node (0x18 bytes) if non-null.
0x00A8991078std__list_free_sentinel_24bytes_00a89910Frees a std::list sentinel node (0x18 bytes) if non-null.
0x00A8996078std__list_free_sentinel_68bytes_00a89960Frees a std::list sentinel node (0x44 bytes) if non-null.
0x00A89A80103std__list_clear_and_free_12byte_nodes_00a89a80Clears a std::list with 0xC (12) byte nodes. Walks linked list freeing each node, then frees sentinel.
0x00A89AF0131std__list_clear_and_free_36byte_string_nodesClears a std::list with 0x24 (36) byte nodes that contain embedded std::strings. Destroys each string before freeing node, then frees sentinel.
0x00A89B80103std__list_clear_and_free_12byte_nodes_00a89b80Clears a std::list with 0xC (12) byte nodes. Walks linked list freeing each node, then frees sentinel.
0x00A89BF065std__tree_dtor_wrapper_24byte_aSEH wrapper around std::_Tree destructor for 24-byte nodes (variant a).
0x00A89C4065std__tree_dtor_wrapper_24byte_bSEH wrapper around std::_Tree destructor for 24-byte nodes (variant b).
0x00A89C9065std__tree_dtor_wrapper_68byteSEH wrapper around std::_Tree destructor for 68-byte nodes.
0x00A89CE087std__tree_clear_and_destroy_44byte_nodes_00a89ce0Clears a std::_Tree with 0x2C byte nodes. Recursively destroys child nodes then frees sentinel.
0x00A89D4065std__tree_dtor_wrapper_24byte_cSEH wrapper around std::_Tree destructor for 24-byte nodes (variant c).
0x00A89D9065std__tree_dtor_wrapper_24byte_dSEH wrapper around std::_Tree destructor for 24-byte nodes (variant d).
0x00A89DE065std__string_dtor_wrapperSEH wrapper around STL_string_dtor. Used as cleanup handler in exception frames.
0x00A89E3065std__tree_dtor_wrapper_20byteSEH wrapper around std::_Tree destructor for 20-byte nodes.
0x00A89ED065std__list_dtor_wrapper_12byteSEH wrapper around std__list_clear_and_free_12byte_nodes.
0x00A89F20129std__vector_deallocate_if_nonemptyDeallocates a std::vector buffer if non-null. Handles aligned alloc (>0xFFF check). Resets begin/end/capacity to 0.
0x00A89FB0177std__vector_destroy_strings_and_deallocateDestroys a std::vector<std::string>. Iterates elements calling STL_string_dtor for each 0x20-byte string, then deallocates vector buffer.
0x00A8A07065std__string_dtor_wrapper_00a8a070SEH wrapper around STL_string_dtor. Duplicate cleanup handler for a different exception frame.
0x00A8A6C068std__vector_string_dtor_wrapperSEH wrapper around std__vector_destroy_strings_and_deallocate.
0x00A8A710223std__tree_insert_or_find_24bytestd::_Tree insert-or-find for 0x18 (24) byte nodes. Searches tree via FUN_00a87d60, inserts new node if key not found (throws at max 0xAAAAAAA). Returns pointer to value field (node+0x14).
0x00A8A7F083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A8A85083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A8A8B083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A8A91083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A8A97083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A8A9D083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A8AA3083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A8AA9083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00A8AAF0132std__tree_iterator_incrementstd::_Tree in-order iterator increment (operator++). From current node, descends to leftmost of right subtree, or walks up to first unvisited ancestor. Used for BST in-order traversal.
0x00AADBE0235STL_vector_resize_fill_uintSTL vector resize with fill. If param_2 <= current size, fills existing elements with param_3. Otherwise allocates new buffer of param_2*4 bytes, frees old, fills all elements with param_3. Max size check at 0x3FFFFFFF elements.
0x00AADCD0704std__tree_extract_and_rebalance_0x14STL red-black tree node extraction and rebalancing. Removes a node from the tree, fixes parent/child pointers, and performs rotations to maintain red-black properties. Decrements node count. Uses 0x14-byte nodes with rotations via FUN_00ab04a0 and FUN_00ab07a0.
0x00AADF90704std__tree_extract_and_rebalance_0x18STL red-black tree node extraction and rebalancing for 0x18-byte nodes. Same algorithm as the 0x14 variant but uses FUN_00ab0500 and FUN_00ab0800 for rotations.
0x00AAE250704std__tree_extract_and_rebalance_00aae250STL red-black tree node extraction and rebalancing. Same algorithm as other variants, uses FUN_00ab0560 and FUN_00ab0860 for rotations.
0x00AAE510704std__tree_extract_and_rebalance_00aae510STL red-black tree node extraction and rebalancing. Template instantiation variant.
0x00AAE7D0704std__tree_extract_and_rebalance_00aae7d0STL red-black tree node extraction and rebalancing. Template instantiation variant.
0x00AAEA90704std__tree_extract_and_rebalance_00aaea90STL red-black tree node extraction and rebalancing. Template instantiation variant.
0x00AAED50704std__tree_extract_and_rebalance_00aaed50STL red-black tree node extraction and rebalancing. Template instantiation variant.
0x00AAF010704std__tree_extract_and_rebalance_00aaf010STL red-black tree node extraction and rebalancing. Template instantiation variant.
0x00AAF2D0426std__unordered_map_rehash_00aaf2d0Rehashes an unordered map/set. Resizes bucket array to next power of 2 >= param_2, recalculates bucket assignments using FNV-1a hash on 4-byte keys. Moves nodes between buckets by relinking the doubly-linked list.
0x00AAF630517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AAF840517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AAFA50517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AAFC60517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AAFE70517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AB0080517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AB0290517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AB04A084std__tree_rotate_leftLeft rotation for red-black tree. Rotates param_2 node left, promoting its right child. Updates parent, child, and root pointers.
0x00AB050084std__tree_rotate_left_00ab0500Left rotation for red-black tree. Identical code to std__tree_rotate_left but for a different tree instantiation.
0x00AB056084std__tree_rotate_left_00ab0560Left rotation for red-black tree. Identical code for another tree instantiation.
0x00AB05C084std__tree_rotate_left_00ab05c0Left rotation for red-black tree. Identical code for another tree instantiation.
0x00AB062084std__tree_rotate_left_00ab0620Left rotation for red-black tree. Identical code for another tree instantiation.
0x00AB068084std__tree_rotate_left_00ab0680Left rotation for red-black tree. Identical code for another tree instantiation.
0x00AB06E084std__tree_rotate_left_00ab06e0Left rotation for red-black tree. Identical code for another tree instantiation.
0x00AB074084std__tree_rotate_left_00ab0740Left rotation for red-black tree. Identical code for another tree instantiation.
0x00AB07A088std__tree_rotate_rightRight rotation for red-black tree. Rotates param_2 node right, promoting its left child. Updates parent, child, and root pointers.
0x00AB080088std__tree_rotate_right_00ab0800Right rotation for red-black tree. Template instantiation variant.
0x00AB086088std__tree_rotate_right_00ab0860Right rotation for red-black tree. Template instantiation variant.
0x00AB08C088std__tree_rotate_right_00ab08c0Right rotation for red-black tree. Template instantiation variant.
0x00AB092088std__tree_rotate_right_00ab0920Right rotation for red-black tree. Template instantiation variant.
0x00AB098088std__tree_rotate_right_00ab0980Right rotation for red-black tree. Template instantiation variant.
0x00AB09E088std__tree_rotate_right_00ab09e0Right rotation for red-black tree. Template instantiation variant.
0x00AB0A4088std__tree_rotate_right_00ab0a40Right rotation for red-black tree. Template instantiation variant.
0x00AB0AA0478std__unordered_map_erase_range_00ab0aa0Erases a range of elements [param_2, param_3) from an unordered map. Frees 0xc-byte nodes, decrements count, and updates bucket pointers. Uses FNV-1a hash to find correct buckets for relinking.
0x00AB0C8010thunk_to_std__Xlength_error_00ab0c80Forwards to std::_Xlength_error for deque overflow handling
0x00AB0C9010thunk_to_std__Xlength_error_00ab0c90Thunk that calls std::_Xlength_error with vector_too_long message
0x00AB0CA095STL_aligned_alloc_0x18Allocates param_1 * 0x18 bytes with 32-byte alignment for large allocations (>=0x1000 bytes). Returns the aligned pointer with the original allocation address stored at ptr-4.
0x00AB0D00115std__tree_clear_0x44_nodesClears all nodes from an STL tree, freeing 0x44-byte nodes. Iterates from the leftmost node, calls FUN_00a87ab0 to clean up each node's key, frees the node memory, then resets the tree head to empty state.
0x00AB0D80115std__tree_clear_0x14_nodesClears all nodes from an STL tree, freeing 0x14-byte nodes. Iterates from the leftmost node, calls FUN_00a87800 to clean up each node's key, frees the node memory, then resets the tree head to empty state.
0x00AB0E0062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00AB0E40286std__tree_erase_range_by_keyErases a range of tree nodes matching a key value. Finds lower and upper bounds for the key, counts matching nodes, then either clears the entire tree (if range covers all) or removes individual nodes using tree extract+rebalance, freeing 0x14-byte nodes.
0x00AB0F6095std__list_remove_nodeRemoves a node (param_3) from a doubly-linked list. Unlinks the node, decrements count at param_1+4, frees the 0xc-byte node. Writes the successor node's address to *param_2.
0x00AB0FD0106std__map_find_stringFinds an exact match in a string-keyed std::map. Performs lower_bound lookup then verifies key equality via std::char_traits::compare. Returns iterator to found node, or end() if not found.
0x00AB1150165std__list_push_back_intPushes an integer value to the back of a doubly-linked list. Allocates a 0xc-byte node, sets the data field, links it at the end. Throws if list exceeds 0x15555555 elements.
0x00AB5310241STL_tree__copy_node_recursiveRecursively copies a binary tree (STL red-black tree). Allocates 0x1C-byte nodes, copies key/color from source. Recursively copies left and right subtrees. Used by map/set copy constructors.
0x00AB5420103STL_tree__destroy_nodes_postorderPost-order recursive destruction of STL tree nodes. Traverses right subtree first, then frees current node (0x28 bytes each), continues with left child iteratively. Stops at sentinel nodes (byte 0xd != 0).
0x00AB5490169STL_tree__destroy_nodes_with_nested_mapPost-order recursive destruction of tree nodes that contain nested maps. For each node: destroys right subtree recursively, then destroys nested map at node+0x14 via STL_map_destroy_subtree, frees the nested header (0x20 bytes), and frees the node itself (0x1C bytes).
0x00AB554075STL_tree__lower_bound_by_int_keySTL tree lower_bound search by integer key. Traverses binary search tree comparing key at node offset 0x10 against search key. Returns iterator struct with: found node, direction flag (0=right, 1=left), and closest >= node.
0x00AB5590228STL_vector__grow_ptr_arraySTL vector grow/reserve for pointer-sized (4-byte) elements. Computes new capacity as max(requested, old_capacity * 1.5), capped at 0x3FFFFFFF. Allocates new buffer, memsets new portion to 0, copies existing data, then replaces internal pointers.
0x00AB56A0460STL_vector__grow_36byte_elementsSTL vector grow/reserve for 0x24-byte (36 decimal) elements. Standard capacity growth (1.5x or requested size). Allocates aligned memory for large allocations. Initializes new elements via FUN_00abc860, copies existing via FUN_00abc900.
0x00AB588028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00AB58A0251STL_tree__copy_ctor_with_fixupCopy constructor for an STL tree/map. Copies header, allocates 0x20-byte sentinel node, recursively copies all tree nodes via CRsmModel__copy_tree_node. Then fixes up leftmost and rightmost pointers by traversing to tree extremes.
0x00AB5FC067STL_tree__free_header_12byteFrees a 0xC-byte STL tree/list header node if it exists (offset +4 non-null check).
0x00AB601067STL_tree__free_header_40byteFrees a 0x28-byte (40 decimal) STL tree header node if it exists (offset +4 non-null check).
0x00AB606078STL_tree__free_header_12byte_00ab6060Frees a 0xC-byte STL tree/list header node if it exists. Similar to STL_tree__free_header_12byte but different calling convention.
0x00AB60B0111STL_tree__destroy_all_and_free_headerDestroys all nodes in an STL tree via STL_tree__destroy_nodes_postorder (post-order traversal freeing 0x28-byte nodes), then frees the 0x28-byte tree header itself.
0x00AB613084STL_map__destroy_subtree_and_free_header_20byteDestroys an STL map subtree via STL_map_destroy_subtree, then frees the 0x20-byte header node. Null-safe (checks offset+4 for existence).
0x00AB619078STL_tree__free_header_40byte_00ab6190Frees a 0x28-byte STL tree header if it exists. Variant with different stack cookie handling from STL_tree__free_header_40byte.
0x00AB61E078STL_tree__free_header_40byte_00ab61e0Frees a 0x28-byte STL tree header if it exists. Another variant of the 40-byte tree header deallocation.
0x00AB6230103linked_list__destroy_all_nodes_12byteDestroys all nodes in a singly-linked list. Zeroes the tail pointer, then iterates through the list freeing each 0xC-byte node. Finally frees the list header itself.
0x00AB62A065STL_tree__destroy_wrapperWrapper that calls STL_tree__destroy_all_and_free_header within an SEH frame.
0x00AB62F0151STL_vector__free_36byte_bufferFrees the backing buffer of an STL vector with 0x24-byte (36 decimal) elements. Handles aligned memory (>0xFFF bytes checks stored original pointer at buf[-4]). Zeroes the vector's begin/end/capacity pointers.
0x00AB6390129STL_vector__free_32byte_bufferFrees the backing buffer of an STL vector with 0x20-byte (32 decimal) elements. Handles aligned memory deallocation for large buffers. Zeroes begin/end/capacity pointers.
0x00AB694065STL_vector__free_32byte_wrapperWrapper that calls STL_vector__free_32byte_buffer within an SEH frame.
0x00AB77A0105STL_vector__resize_32byte_elementsResizes an STL vector of 0x20-byte (32 decimal) elements. If new size < current, truncates. If new size > current but within capacity, extends via FUN_00abc8a0. Returns pointer to element at (new_end - param_2).
0x00ABC2B0257STL_vector__reallocate_16byte_elementsReallocates STL vector for 0x10-byte (16 decimal) elements. Frees old buffer (handles aligned memory), allocates new buffer with 1.5x growth. Sets begin/end/capacity pointers.
0x00ABC3C0278STL_vector__reallocate_20byte_elementsReallocates STL vector for 0x14-byte (20 decimal) elements. Frees old buffer (handles aligned memory), allocates new with 1.5x growth. Sets begin/end/capacity pointers.
0x00ABC620517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00ABC94010thunk_to_std__Xlength_error_00abc940Thunk that calls std::_Xlength_error with vector_too_long message
0x00ABCB3061deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00ABCB70165linked_list__push_backPushes an element to the back of a doubly-linked list. Allocates 0xC-byte node, stores data pointer at [2], increments count at [1]. Inserts before the sentinel. Throws length_error if list at max (0x15555555).
0x00ABCC20149STL_vector__resize_36byte_elementsResizes STL vector of 0x24-byte (36 decimal) elements. Truncates if smaller, grows with STL_vector__grow_36byte_elements if beyond capacity, or memsets new elements to zero if within capacity.
0x00ABCCC034memcpy_range_to_dest_00abccc0Copies memory range [param_1, param_2) to param_3 via memcpy. Returns end pointer (param_3 + size). Generic range copy utility.
0x00ABCCF034memcpy_range_to_dest_00abccf0Copies memory range [param_1, param_2) to param_3 via memcpy. Returns end pointer. Duplicate of memcpy_range_to_dest.
0x00ABCD2034memcpy_range_to_dest_00abcd20Copies memory range [param_1, param_2) to param_3 via memcpy. Returns end pointer. Duplicate of memcpy_range_to_dest.
0x00ABCD50276STL_vector__insert_ptr_elementInserts a single pointer-sized element into an STL vector at position param_2. Allocates new buffer with 1.5x growth, copies before/after segments around insertion point. Returns pointer to inserted element.
0x00ABCE90461STL_vector__grow_12byte_elementsGrows/reallocates STL vector for 0xC-byte (12 decimal) elements. Standard 1.5x capacity growth with aligned allocation for large buffers. Initializes new elements via FUN_00ac3b10, copies existing via memcpy.
0x00ABD070450STL_vector__grow_84byte_elementsGrows STL vector for 0x54-byte (84 decimal) elements. Standard 1.5x capacity growth with aligned allocation. Initializes new elements via FUN_00ac3a70, copies existing via FUN_00ac3b40.
0x00ABD240493STL_vector__grow_156byte_elementsGrows STL vector for 0x9C-byte (156 decimal) elements. Standard 1.5x capacity growth with aligned allocation. Initializes new elements via FUN_00ac3aa0, copies existing via FUN_00ac3ba0.
0x00ABD440499STL_vector__grow_56byte_elementsGrows STL vector for 0x38-byte (56 decimal) elements. Standard 1.5x capacity growth with aligned allocation. Initializes new elements via FUN_00ac3ad0, copies existing via memcpy.
0x00ABDA10148STL_vector__free_84byte_bufferFrees STL vector backing buffer for 0x54-byte (84 decimal) elements. Handles aligned memory (checks stored pointer at buf[-4] for large allocations). Zeroes begin/end/capacity.
0x00ABDAB0153STL_vector__free_156byte_bufferFrees STL vector backing buffer for 0x9C-byte (156 decimal) elements. Handles aligned memory deallocation. Zeroes begin/end/capacity.
0x00ABDB50159STL_vector__free_56byte_bufferFrees STL vector backing buffer for 0x38-byte (56 decimal) elements. Handles aligned memory deallocation. Zeroes begin/end/capacity.
0x00ABDC00150STL_vector__free_12byte_bufferFrees STL vector backing buffer for 0xC-byte (12 decimal) elements. Handles aligned memory deallocation. Zeroes begin/end/capacity.
0x00AC38C0162STL_vector__reallocate_dwordReallocates STL vector for dword (4-byte) elements. Frees old buffer with aligned memory handling, allocates new with 1.5x growth. Standard vector reallocate pattern.
0x00AC3970183STL_vector__reallocate_36byteReallocates STL vector for 0x24-byte (36 decimal) elements. Frees old buffer, allocates new with 1.5x growth. Uses std__vector_allocate_0x24 for aligned allocation.
0x00AC3BE010thunk_to_std__Xlength_error_00ac3be0Wrapper that calls std::_Xlength_error with vector_too_long message
0x00AC3BF010thunk_to_std__Xlength_error_00ac3bf0Calls std::_Xlength_error with vector_too_long error message
0x00AC3C0010thunk_to_std__Xlength_error_00ac3c00Calls std::_Xlength_error with vector_too_long error message
0x00AC3C1010thunk_to_std__Xlength_error_00ac3c10Thunk that calls std::_Xlength_error with vector_too_long message
0x00AC3C2056deallocate_aligned_84byte_bufferDeallocates aligned buffer sized for count * 0x54 bytes. Handles aligned allocation (retrieves original pointer from buf[-4] for large allocations).
0x00AC3C6059deallocate_aligned_156byte_bufferDeallocates aligned buffer sized for count * 0x9C bytes. Handles aligned allocation deallocation.
0x00AC3CA067deallocate_aligned_56byte_bufferDeallocates aligned buffer sized for count * 0x38 bytes. Handles aligned allocation deallocation.
0x00AC3CF061deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00AC521034memcpy_range_to_dest_00ac5210Copies a memory range by computing size from begin/end pointers and calling memcpy.
0x00AC5240276STL_vector__insert_ptr_element_00ac5240Inserts a single pointer-sized element into an STL vector at a given position. Allocates new buffer with 1.5x growth via aligned_vector_alloc, copies segments before/after insertion point. Returns pointer to inserted element.
0x00AC5380439STL_vector__insert_8byte_elementInserts a single 8-byte (2x dword) element into an STL vector at a given position. Allocates new buffer with 1.5x growth, copies segments before/after insertion point using 8-byte pair copy helpers. Returns pointer to inserted element.
0x00AC5540183STL_tree__destroy_nodes_recursive_1cRecursively destroys all nodes in an STL tree with 0x1C-byte nodes. Each node has a linked list at offset+0x14 (0x0C-byte sub-nodes) which is also freed. Post-order traversal: recurse on right child (offset+8), free sub-list, free node, advance to left child (offset+0).
0x00AC560099_Find_last<>STL _Find_last. Searches backward through a range to find the last matching element.
0x00AC567076STL_tree__lower_bound_by_float_keySTL tree lower_bound search using a float key. Walks the tree comparing float values at node offset+0x10. Returns iterator-like struct with last visited node, comparison result flag, and bound node pointer.
0x00AC57E0350STL_make_heap_float_pairSTL make_heap for an array of float pairs (8 bytes each). Builds a max-heap using sift-down, comparing by first float then second float as tiebreaker. Standard heap construction algorithm.
0x00AC5940292STL_sort3_float_pairSTL median-of-three sort for float pairs (8 bytes each). Sorts 3 elements pointed to by param_1, param_2, param_3 in ascending order by first float, second float as tiebreaker. Used as pivot selection in introsort.
0x00AC5A701137STL_nth_element_float_pairSTL nth_element / introsort partition for float pairs (8 bytes each). Partitions array around median-of-3 pivot, with Hoare-style bidirectional scanning. Returns partition bounds via param_1. Used for partial sorting of keyframe arrays.
0x00AC5EF0321STL_adjust_heap_float_pairSTL heap adjust / sift-down for float pairs (8 bytes each). Moves element at param_2 down the heap to restore heap property. Used by pop_heap and sort_heap operations. Compares by first float, second as tiebreaker.
0x00AC6040254STL_introsort_float_pairSTL introsort for float pairs (8 bytes each). Recursive quicksort with depth limit fallback to heap sort. When partition size drops below 0x101 bytes (~32 elements), falls back to insertion sort. Standard std::sort implementation.
0x00AC6140113STL_list__destroy_nodes_0cDestroys all nodes in an STL linked list with 0xC-byte nodes. Zeros the tail pointer, traverses the forward chain freeing each node, then frees the sentinel/head node.
0x00AC61C0531STL_unordered_map__emplace_float_keySTL unordered_map emplace with float key. Computes FNV-1a hash of the float, checks if key exists via _Find_last. If not found, allocates new node, rehashes if load factor exceeded, inserts into bucket chain. Returns iterator and bool (true if inserted).
0x00AC63E097fill<>STL std::fill for 4-byte pointer ranges. Uses unrolled 4-element loop for large ranges, then fills remainder one at a time.
0x00AC6450145STL_unordered_map__ctorSTL unordered_map constructor. Allocates 0xC-byte sentinel node (self-referencing next/prev), initializes bucket array pointer, size, bucket count, and max load factor fields to zero.
0x00AC684067STL_tree__free_header_12byte_00ac6840Frees a 0x0C-byte (12 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation.
0x00AC689067STL_tree__free_header_12byte_00ac6890Frees a 0x0C-byte (12 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation.
0x00AC68E067STL_tree__free_header_1c_byte_00ac68e0Frees a 0x1C-byte (28 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation.
0x00AC699078STL_tree__free_header_0c_byte_00ac6990Frees a 0x0C-byte (12 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation.
0x00AC69E078STL_tree__free_header_0c_byte_00ac69e0Frees a 0x0C-byte (12 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation.
0x00AC6A3076STL_map__destroy_and_free_header_1cDestroys all nodes in an STL map and frees the header/sentinel node.
0x00AC6B0078STL_tree__free_header_1c_byte_00ac6b00Frees a 0x1C-byte (28 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation.
0x00AC6C10103linked_list_clear_and_free_00ac6c10Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0.
0x00AC6C80103linked_list_clear_and_free_00ac6c80Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0.
0x00AC6CF0103linked_list_clear_and_free_00ac6cf0Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0.
0x00AC6D60103linked_list_clear_and_free_00ac6d60Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0.
0x00AC6DD0103linked_list_clear_and_free_00ac6dd0Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0.
0x00AC6EA0116linked_list_clear_from_offset4Clears a singly-linked list stored at param_1+4: walks all nodes, frees each 12-byte node, then frees the sentinel.
0x00AC6F20129vector_clear_and_freeClears and frees a vector's backing buffer. Computes allocation size from (end-begin) & ~3, handles large allocations (>0xfff) with debug header. Zeroes begin/end/capacity pointers.
0x00AC734066free_24byte_blockFrees a 24-byte (0x18) heap block pointed to by *param_1, if non-null.
0x00AC739066free_24byte_block_00ac7390Frees a 24-byte (0x18) heap block pointed to by *param_1, if non-null.
0x00AC807065linked_list_clear_all_nodesClears all nodes from a doubly-linked list. Walks from the first node, unlinks and frees each 12-byte node until it wraps back to the sentinel. Decrements the count.
0x00AC80C058free_four_quadtree_root_nodesFrees the 4 quadtree root nodes stored at offsets 0x5C-0x68. For each non-null root, recursively frees all children via quadtree_node_recursive_free, then frees the 0x7C-byte root node itself.
0x00ACB70090STL_vector__Change_array_00acb700STL vector::_Change_array. Frees old buffer, then sets begin/end/capacity pointers to the new buffer.
0x00ACBDD0517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00ACC080197vector_reallocate_and_copyReallocates a vector to hold param_2 elements. Allocates new buffer via FUN_00acc430, copies existing data via memcpy, frees old buffer (handling large allocation debug headers), and updates begin/end/capacity pointers.
0x00ACC41010thunk_to_std__Xlength_error_00acc410Throws std::length_error for vector allocation failure
0x00ACC42010thunk_to_std__Xlength_error_00acc420Calls std::_Xlength_error with vector_too_long error message
0x00ACC51062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00ACC55062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00ACC590165linked_list_push_backAppends a value (*param_2) to a doubly-linked list (param_1). Allocates a 12-byte node, inserts it before the sentinel. Increments the list count. Throws _Xlength_error if list is at max size (0x15555555).
0x00ACCF7067free_12byte_list_sentinelFrees the 12-byte linked list sentinel node at offset 4, if non-null.
0x00ACCFC078free_12byte_list_sentinel_00accfc0Frees the 12-byte linked list sentinel node at offset 4, if non-null.
0x00ACD0D0103linked_list_clear_and_free_00acd0d0Clears a singly-linked list: walks from *param_1, frees each 12-byte node, then frees the sentinel.
0x00ACF75029memcpy_backward_by_offsetCopies memory from [param_1, param_2) backward to a destination computed as param_3 - (param_2 - param_1). Used for shifting data in buffer insertions.
0x00ACFAB0472std__sort_uint_introsortSTL introsort implementation for uint arrays. Uses quicksort with median-of-three pivot selection, falls back to heapsort when recursion depth limit is reached, and uses insertion sort for small partitions (<=32 elements). Standard std::sort algorithm.
0x00ACFC9069vector_assign_from_rangeAssigns a vector's contents from a memory range [param_2, param_3). If the vector's capacity is too small, grows it. Copies data via memcpy and updates the end pointer.
0x00AD765034memcpy_range_to_dest_00ad7650Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past the end of the copied data.
0x00AD768034memcpy_range_to_dest_00ad7680Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past the end of the copied data.
0x00AD76B034memcpy_range_to_dest_00ad76b0Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past the end of the copied data.
0x00AD76E0452vector_insert_and_growInserts an element at position param_2 in a vector, growing its capacity using 1.5x growth strategy. Allocates new buffer (with alignment for large allocs), copies elements before/after the insertion point, inserts the new value from param_3, frees old buffer, and updates begin/end/capacity pointers.
0x00AD7AD0406STL_vector_16byte_reallocate_and_fillSTL vector reallocation for 16-byte elements (0x10 stride). Grows capacity by 1.5x, copies existing data, fills new slots. Used by pathfinding waypoint vector.
0x00AD7C70499STL_vector_28byte_reallocate_and_fillSTL vector reallocation for 28-byte (0x1c) elements. Grows capacity by 1.5x, copies existing data via memcpy, fills new slots. Used by pathfinding node array.
0x00AD7FE067free_18byte_nodeFrees a 0x18-byte allocated node if the pointer at offset +4 is non-null. SEH-protected free operation.
0x00AD803067free_2C_byte_nodeFrees a 0x2C-byte allocated node if the pointer at offset +4 is non-null. SEH-protected free operation.
0x00AD816078free_18byte_node_sehSEH-wrapped free of 0x18-byte node. Checks if pointer at offset+4 is non-null before freeing. Variant of free_18byte_node.
0x00AD81B0113free_2C_node_with_string_dtorFrees a 0x2C-byte node that contains a string. First destroys the embedded STL string, then frees the 0x2C-byte allocation if non-null.
0x00AD823078free_18byte_node_seh_v2SEH-wrapped free of 0x18-byte node, variant. Frees allocation at offset+4 if non-null. Nearly identical to free_18byte_node_seh.
0x00AD828078free_2C_byte_node_sehSEH-wrapped free of 0x2C-byte node. Frees allocation at offset+4 if non-null.
0x00AD838065STL_string_dtor_seh_wrapperSEH-wrapped STL string destructor. Calls STL_string_dtor within structured exception handling frame.
0x00AD83D0129STL_vector_4byte_freeFrees the backing storage of an STL vector with 4-byte (int/pointer) elements. Handles aligned allocation (>0x1000 bytes uses offset pointer at [-4]). Zeroes all three vector fields after free.
0x00AD8460129STL_vector_16byte_freeFrees the backing storage of an STL vector with 16-byte elements. Computes allocation size via capacity mask (& 0xFFFFFFF0). Handles aligned allocation for large blocks. Zeroes all three vector fields.
0x00AD84F0159STL_vector_28byte_freeFrees the backing storage of an STL vector with 28-byte (0x1C) elements. Computes capacity via division by 0x1C then multiplies back. Handles aligned allocation. Zeroes all three vector fields.
0x00AD86F065STL_vector_4byte_free_sehSEH-wrapped call to STL_vector_4byte_free. Frees 4-byte element vector storage within exception handling frame.
0x00AD874083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00AD990011STL_vector_clear_by_reset_endClears an STL vector by resetting the end pointer to the begin pointer. Does not free memory, just marks as empty.
0x00AD9E60517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00ADA070517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00ADA3F010thunk_to_std__Xlength_error_00ada3f0Thunk that calls std::_Xlength_error with vector_too_long message
0x00ADA40010thunk_to_std__Xlength_error_00ada400Calls std::_Xlength_error with vector_too_long error message
0x00ADA41010thunk_to_std__Xlength_error_00ada410Calls std::_Xlength_error with vector_too_long message
0x00ADA42062STL_allocator_deallocate_4byteSTL allocator deallocate for 4-byte elements. Computes total size as count*4, handles over-aligned allocations (>=0x1000 bytes) by retrieving original pointer from [-4] offset.
0x00ADA46058free_aligned_16byte_arrayFrees an aligned allocation of 16-byte elements. For allocations >= 0x1000 bytes, retrieves the original pointer from [-4] offset. Validates alignment offset before freeing.
0x00ADA4A067free_aligned_28byte_arrayFrees an aligned allocation of 28-byte (0x1C) elements. For allocations >= 0x1000 bytes, retrieves the original pointer from [-4] offset. Validates alignment offset before freeing.
0x00ADCB60165linked_list_push_frontPushes an element to the front of a doubly-linked list with 0x0C-byte nodes. Allocates a new node, stores the data pointer (from *param_2) at node[2], links it after the sentinel. Increments list count at param_1[1]. Throws if list size exceeds max (0x15555555).
0x00ADD780129STL_vector_2byte_freeFrees the backing storage of an STL vector with 2-byte (short/wchar_t) elements. Handles aligned allocation for large blocks. Zeroes all three vector fields.
0x00ADDB4067free_28byte_tree_sentinelFrees a 0x28-byte red-black tree sentinel node if the pointer at offset+4 is non-null.
0x00ADDBF0132free_28byte_node_with_json_cleanupFrees a 0x28-byte tree node that contains a json-like object. Sets vtable to PTR_FUN_01159a18, calls json cleanup, then frees the 0x28-byte allocation.
0x00ADDC8078free_28byte_tree_sentinel_sehSEH-wrapped free of 0x28-byte tree sentinel node. Frees allocation at offset+4 if non-null.
0x00ADE7C0517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00ADED20111linked_list_24byte_destroy_with_stringDestroys all nodes in a singly-linked list of 0x24-byte nodes that contain embedded STL strings. Clears the tail pointer, traverses the list calling STL_string_dtor on each node, then frees each 0x24-byte node.
0x00ADEEE073linked_list_24byte_destroy_and_free_sentinelDestroys all nodes in a 0x24-byte linked list (with embedded strings) and frees the sentinel node.
0x00ADF57070free_A4_byte_sentinelFrees a 0xA4-byte red-black tree sentinel node if the pointer at offset+4 is non-null.
0x00ADF620119free_A4_node_with_cleanupFrees a 0xA4-byte tree node that contains embedded data needing cleanup. Calls FUN_00adf820 for cleanup if node exists, then frees the 0xA4-byte allocation.
0x00ADF6A081free_A4_byte_sentinel_sehSEH-wrapped free of 0xA4-byte sentinel node. Frees allocation at offset+4 if non-null.
0x00AE0590517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AE1290105destroy_range_of_3C_elementsDestroys a range of 0x3C-byte elements from param_1 to param_2. Each element contains 2 STL strings that need destruction.
0x00AE1300458STL_vector_3C_insert_and_reallocateInserts a single 0x3C-byte element into a vector at a given position, reallocating if needed. Grows capacity by 1.5x. Allocates via CTownInfoMgr__alloc_town_array, constructs new element, moves existing elements before/after insertion point, destroys old storage.
0x00AE1BC067free_34byte_sentinelFrees a 0x34-byte red-black tree sentinel node if the pointer at offset+4 is non-null.
0x00AE1C80129free_34byte_node_with_town_cleanupFrees a 0x34-byte tree node containing town vector data and an STL string. Clears the town vector, destroys the string, then frees the 0x34-byte node.
0x00AE1D1078free_34byte_sentinel_sehSEH-wrapped free of 0x34-byte sentinel node. Frees allocation at offset+4 if non-null.
0x00AE2BA0517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AE2E7010thunk_to_std__Xlength_error_00ae2e70Wrapper that calls std::_Xlength_error with vector_too_long message
0x00AE51E0435vector_0xc__insert_reallocSTL vector insert with reallocation for 0xc-byte elements. Grows capacity by 1.5x, moves elements around insertion point, constructs the new element. Frees old buffer.
0x00AE53C0162vector_0xc__move_rangeMoves a range of 0xc-byte (3 dword) elements from [param_1, param_2) to param_3 by copying fields and zeroing originals. Used during vector reallocation.
0x00AE5A7036vector_0xc__destruct_rangevector_0xc: destruct range
0x00AE5AA0174vector_0xc__clear_and_freeClears a vector of 0xc-byte elements. Destructs each element, then frees the backing memory with aligned deallocation. Zeroes the vector pointers.
0x00AE5B6010thunk_to_std__Xlength_error_00ae5b60Thunk that calls std::_Xlength_error with vector_too_long message
0x00AE5BD061deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00AE5C10438STL_vector_4byte_insert_realloc_00ae5c10STL vector insert with reallocation for 4-byte (int/pointer) elements. Grows capacity by 1.5x, copies elements around insertion point, frees old buffer. Updates vector begin/end/capacity pointers.
0x00AE5DD082vector_int__ctorDefault constructor for a vector of ints. Zeroes begin, end, and capacity pointers.
0x00AE5E50129vector_int__clear_and_freeClears and frees a vector of 4-byte (int/pointer) elements. Handles aligned deallocation for large buffers (>= 0x1000). Zeroes vector pointers.
0x00AE5EE065vector_int__dtorDestructor for vector of ints. Calls vector_int__clear_and_free to release memory.
0x00AE713010thunk_to_std__Xlength_error_00ae7130Thunk that calls std::_Xlength_error with vector_too_long message
0x00AE7140368STL_wstring_appendSTL wstring append. Appends param_3 wide characters from param_2. If capacity is sufficient, copies in-place. Otherwise allocates new buffer (1.5x growth), copies old data + new data, frees old buffer.
0x00AE72C062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00AE7300152STL_wstring_substrSTL wstring substr. Extracts substring starting at param_3 with length param_4 into param_2. Throws out_of_range if start exceeds string length.
0x00AE953067free_0x10_memberFrees a 0x10-byte buffer at offset +4 if non-null.
0x00AE958078free_0x10_member_with_sehFrees a 0x10-byte buffer at offset +4 if non-null. Wrapped in SEH frame.
0x00AE9640151vector_0x120__clear_and_freeClears and frees a vector of 0x120-byte elements. Handles aligned deallocation for large buffers. Zeroes vector pointers.
0x00AEB500484vector_0x120__resize_with_fillResizes a vector of 0x120-byte elements. Allocates new buffer (1.5x growth), fills new elements via FUN_00aeca10, moves existing elements, frees old buffer. Max 0xe38e38 elements.
0x00AECD60128vector_0x120__resizeResizes a vector of 0x120-byte elements. Shrinks by adjusting end pointer, grows by initializing new elements or calling resize_with_fill if beyond capacity.
0x00AED18034memcpy_range_to_dst_00aed180Copies a byte range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past last written byte in destination.
0x00AED1B0238std__tree_0x18__deep_copy_nodeDeep copies a tree node (0x18 bytes each). Allocates new node, copies key (offsets +4,+5), sets color/links. Recursively copies left (offset 0) and right (offset 2) children. Returns the copy of the leftmost leaf node.
0x00AED2C0452STL_vector_4byte_insert_realloc_00aed2c0STL vector insert with reallocation for 4-byte elements. Grows capacity by 1.5x, copies elements around insertion point via memcpy, frees old buffer. Max 0x3FFFFFFF elements.
0x00AED490118std__tree_0x18__destroy_all_nodesDestroys all nodes in a tree (0x18-byte nodes). Walks the leftmost chain, recursively destroying right subtrees, freeing each 0x18-byte node. Finally frees the sentinel.
0x00AED510103std__tree_0x18__recursive_destroy_aRecursively destroys 0x18-byte tree nodes. Walks left chain (offset 0), recursively destroys right subtrees (offset 2), frees each node.
0x00AED580103std__tree_0x18__recursive_destroy_bRecursively destroys 0x18-byte tree nodes (variant B). Same structure as variant A - walks left, destroys right subtrees, frees nodes.
0x00AED5F0103std__tree_0x18__recursive_destroy_cRecursively destroys 0x18-byte tree nodes (variant C). Same structure - walks left, destroys right subtrees, frees nodes.
0x00AED66086std__tree_0x18__lower_boundBinary search tree lower_bound using CGrfFileRecord__compare_less_than. Traverses the tree, tracking the last node where key was not less. Returns iterator struct with {current, found_flag, bound_node}.
0x00AED6C0114std__tree_0x18__lower_bound_strBinary search tree lower_bound using direct string comparison. Compares node name at offset +4 with param_3 string byte-by-byte. Returns iterator struct with {current, found_flag, bound_node}.
0x00AED740475vector_8byte__resize_with_treesResizes a vector of 8-byte elements (each containing a tree). Allocates new buffer (1.5x growth), initializes new elements, moves existing ones. Destroys old tree nodes before freeing old buffer. Max 0x1FFFFFFF elements.
0x00AED920234std__tree_0x18__copy_ctorCopy constructor for a tree with 0x18-byte nodes. Allocates sentinel node, deep copies all nodes from param_2's tree, then finds and sets min/max pointers.
0x00AEDBE067free_0x18_sentinel_aFrees a 0x18-byte sentinel node at offset +4 if non-null.
0x00AEDC3067free_0x18_sentinel_bFrees a 0x18-byte sentinel node at offset +4 if non-null. Identical to free_0x18_sentinel_a.
0x00AEDC90111std__tree_0x18__destroy_all_and_sentinelDestroys all nodes in a 0x18-byte tree and frees the sentinel. Recursively destroys right subtrees using std__tree_0x18__recursive_destroy_b, walks left chain freeing nodes, finally frees sentinel.
0x00AEDD3078free_0x18_sentinel_with_seh_aFrees a 0x18-byte sentinel node at offset +4 if non-null. Wrapped in SEH frame (variant A).
0x00AEDD8078free_0x18_sentinel_with_seh_bFrees a 0x18-byte sentinel node at offset +4 if non-null. Wrapped in SEH frame (variant B).
0x00AEDDD078free_0x18_sentinel_with_seh_cFrees a 0x18-byte sentinel node at offset +4 if non-null. Wrapped in SEH frame (variant C).
0x00AEDE2078free_0x18_sentinel_with_seh_dFrees a 0x18-byte sentinel node at offset +4 if non-null. Wrapped in SEH frame (variant D).
0x00AEDE7091STL_vector_of_trees__destroy_allDestroys all tree structures in a vector. Iterates from begin to end (stride=8), calling std__tree_0x18__destroy_all_nodes on each element.
0x00AEDED065std__tree_0x18__destroy_wrapperWrapper to destroy a std::tree with 0x18-byte nodes including the sentinel node.
0x00AEDF20129STL_vector_int_deallocate_00aedf20Deallocates an STL vector&lt;int&gt; buffer (duplicate instance). Same as STL_vector_int_deallocate.
0x00AEDFB0178STL_vector_of_trees__destroy_all_and_freeDestroys all tree structures in a vector and frees the vector buffer. Iterates elements (stride=8), destroys each tree's nodes, then deallocates the underlying buffer with aligned-free support.
0x00AEE2B083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00AF0C4093std__tree_0x18__destroy_rangeDestroys a range of tree containers from param_1 to param_2. Each element is 8 bytes (tree root + count). Calls std__tree_0x18__destroy_all_nodes on each tree in the range.
0x00AF0CA0704std__tree_0x18__erase_nodeRed-black tree node erasure with rebalancing. Removes param_2 from the tree rooted at param_1. Handles the standard RB-tree cases: node with two children (swap with successor), node with one child, and leaf. Performs rotations and color fixes to maintain RB-tree invariants. Decrements tree size. Returns the erased node pointer.
0x00AF0F80517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AF1190517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00AF13A084std__tree_0x18__rotate_leftRed-black tree left rotation. Rotates the subtree rooted at param_2 to the left. The right child of param_2 becomes the new root of the subtree. Updates parent/child pointers including the tree root if necessary.
0x00AF140088std__tree_0x18__rotate_rightRed-black tree right rotation. Rotates the subtree rooted at param_2 to the right. The left child of param_2 becomes the new root of the subtree. Updates parent/child pointers including the tree root if necessary.
0x00AF1460153std__tree_0x18__init_n_empty_treesInitializes N empty 0x18-byte tree sentinel nodes. For each tree, allocates a 0x18-byte header node, sets left/right/parent to self (empty tree sentinel), and sets color flags to 0x0101. Returns pointer past the last initialized pair.
0x00AF1500120std__tree_0x18__copy_rangeCopy-constructs a range of 8-byte tree objects from param_1 to param_2. Iterates 8 bytes at a time, calling std__tree_0x18__copy_ctor for each element.
0x00AF158010thunk_to_std__Xlength_error_00af1580Calls std::_Xlength_error with vector_too_long error message
0x00AF159010thunk_to_std__Xlength_error_00af1590Wrapper that calls std::_Xlength_error with vector_too_long message
0x00AF15A062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00AF15E062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00AF187039STL_vector_push_back_4bytePushes a 4-byte value onto a vector. If capacity is available, copies the value directly and increments the end pointer. Otherwise calls the reallocation path.
0x00AF1C6034memcpy_range_00af1c60Copies a range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past the end of the copied data in the destination buffer.
0x00AF1C90279vector_8byte__emplace_with_reallocInserts an 8-byte element pair into a vector at position param_2, reallocating if needed. Uses 1.5x growth factor. Copies/moves existing elements around the insertion point. Calls FID_conflict__Change_array to finalize the reallocation.
0x00AF2940287STL_vector_8byte__resize_growResizes an 8-byte element vector to param_2 elements, growing with 1.5x factor. Allocates new aligned buffer, zero-fills new elements, copies existing data via memcpy, frees old buffer. Max 0x1FFFFFFF elements.
0x00AF2A90457STL_vector_12byte__resize_growResizes a 12-byte element vector (likely std::vector<sub_match>) to param_2 elements, growing with 1.5x factor. Allocates aligned buffer (32-byte alignment for >=0x1000), default-constructs new elements, moves existing data, frees old buffer. Max 0x15555555 elements.
0x00AF3480219STL_vector_4byte__copy_ctorCopy constructor for a vector-like structure (5 fields). Copies field[0] directly, allocates memory for the data buffer, memcpy's the existing elements, and copies field[4]. The data buffer uses 4-byte aligned elements. Returns the constructed object.
0x00AF37D0497std__basic_ofstream__ctor_openConstructor for std::basic_ofstream that opens a file. Initializes the ostream and streambuf base classes, opens the file via std::_Fiopen with write mode (\|2), sets up buffer pointers via get_stream_buffer_pointers, checks locale codec for conversion needs. Sets failbit if the file cannot be opened.
0x00AF39D0111STL_wstring__move_ctorMove constructor for std::wstring (basic_string<wchar_t>). Transfers the internal buffer (4 dwords of SSO data + size + capacity) from param_2 to param_1, then resets param_2 to an empty string (size=0, capacity=7, first wchar=0).
0x00AF3A5067STL_wstring__ctor_from_wchar_ptrConstructs a std::wstring from a null-terminated wchar_t* pointer. Initializes with empty state (size=0, capacity=7), calculates the string length via wcslen-equivalent loop, then calls STL_wstring_assign to copy the data. Returns the constructed string.
0x00AF3C20190std__basic_ofstream__dtorDestructor for std::basic_ofstream. Resets vtable pointers, flushes the streambuf if it has pending writes, destroys the streambuf and ostream base classes. Handles the complex MSVC layout with offset-to-top adjustments.
0x00AF3CE068STL_vector_12byte__dealloc_wrapperWrapper that deallocates a 12-byte element vector. Simply calls FUN_00af3d80 to perform the actual deallocation.
0x00AF3D80150STL_vector_12byte__deallocDeallocates a 12-byte element vector's buffer. Computes the total allocation size from (capacity - begin) / 12 * 12, handles aligned deallocation (32-byte alignment for blocks >= 0x1000), frees the memory, and zeros the begin/end/capacity pointers.
0x00AF3E30117STL_vector_4byte__copy_assignCopy assignment for a 5-field vector structure. Copies field[0], reallocates the data buffer if capacity is insufficient via STL_lib_func_004f6780, memcpy's the elements, and updates end pointer and field[4]. Returns the assigned object.
0x00AF3F50199std__basic_ofstream__vbase_dtorComplete (vbase) destructor for std::basic_ofstream. Destroys streambuf, ostream, and the basic_ios virtual base. Called when the ofstream is the most-derived class being destroyed.
0x00AF8B8090STL_vector__Change_array_00af8b80STL vector::_Change_array. Frees old buffer, then sets begin/end/capacity pointers to the new buffer.
0x00AF8BE0162STL_vector_float_pair_reallocateReallocates a vector of float pairs (8 bytes each). Frees old buffer, allocates new one with capacity param_2 * 8 bytes, updates begin/end/capacity pointers. Used by generate_diamond_grid_positions and generate_square_grid_positions.
0x00AF9A60189STL_vector_8byte_growGrows a vector of 8-byte elements. Allocates new buffer via FUN_00afa090, moves existing elements, frees old buffer, updates begin/end/capacity pointers.
0x00AF9B50125STL_vector_12byte_resizeResizes a vector of 12-byte elements. Shrinks by updating end pointer, or grows by either calling default-construct fill or reallocating. Element stride is 0xC (12 bytes).
0x00AF9E30129STL_vector_8byte_deallocDeallocates a vector of 8-byte elements. Frees the buffer using aligned deallocation (handles >0xFFF alignment), zeroes begin/end/capacity pointers.
0x00AF9F6010thunk_to_std__Xlength_error_00af9f60Thunk that calls std::_Xlength_error with vector_too_long message
0x00AF9F7010thunk_to_std__Xlength_error_00af9f70Thunk that calls std::_Xlength_error with vector_too_long message
0x00AFA03092STL_aligned_alloc_8byte_arrayAllocates aligned memory for an array of param_1 elements of 8 bytes each. Uses aligned allocation (32-byte aligned) for allocations >= 0x1000 bytes. Throws bad_array_new_length if count >= 0x20000000.
0x00AFA09092STL_aligned_alloc_8byte_array_00afa090Identical to STL_aligned_alloc_8byte_array, allocates aligned memory for an array of param_1 8-byte elements. Duplicate code at different address.
0x00AFA0F062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00AFA13061deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00AFC3A0446STL_vector_8byte_emplace_growGrows a vector of 8-byte elements when inserting via emplace. Allocates new buffer with 1.5x growth factor, moves elements before and after insertion point, inserts new element. Returns pointer to inserted element.
0x00AFC570548STL_vector_0x30_emplace_growGrows a vector of 0x30-byte elements (CTextLineObj) when inserting. Allocates new buffer with 1.5x growth, move-constructs elements, inserts new element at position. Element stride 0x30 (48 bytes). Max elements 0x5555555.
0x00AFC7A0137STL_vector_0x30_relocate_elementsRelocates 0x30-byte elements by move-constructing from source range [param_1, param_2) to destination param_3. Destroys any leftover elements at destination after copy.
0x00AFEBB022std__destroy_range_0x30_wrapperThin wrapper that calls std__destroy_range_0x30_elements to destroy a range of 0x30-byte elements.
0x00AFECB010thunk_to_std__Xlength_error_00afecb0Calls std::_Xlength_error with vector_too_long error message
0x00AFECC010thunk_to_std__Xlength_error_00afecc0Thunk that calls std::_Xlength_error with vector_too_long message
0x00AFECD062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00AFED1061deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00B0005099_Find_last<>STL _Find_last. Searches backward through a range to find the last matching element.
0x00B000C0111linked_list_0x24__clear_allClears a singly-linked list of 0x24-byte nodes. Sets the count to 0, then walks the list freeing each node. Each node contains a string (destroyed via STL_string_dtor) and a next pointer at offset 0. Frees each 0x24-byte node.
0x00B0036097fill<>STL std::fill for 4-byte pointer ranges. Uses unrolled 4-element loop for large ranges, then fills remainder one at a time.
0x00B0046067free_0x24_nodeFrees a 0x24-byte node pointed to by param_1+4 if it's not null. Used for cleanup of hash map or linked list nodes.
0x00B00520125STL_vector_4byte__dealloc_alignedDeallocates a 4-byte element vector with aligned memory handling. Computes buffer size, handles 32-byte alignment for blocks >= 0x1000, frees the memory, and zeros the begin/end/capacity pointers.
0x00B0063073linked_list_0x24__clear_and_free_sentinelClears all nodes in a 0x24-byte linked list and frees the sentinel node. Calls linked_list_0x24__clear_all to destroy all data nodes, then frees the sentinel/header node (0x24 bytes).
0x00B01B50235STL_vector_4byte__resize_fillResizes a 4-byte element vector to param_2 elements, filling with param_3. If new size <= current, fills existing elements. Otherwise allocates new aligned buffer, frees old, and fills all elements with the given value. Max 0x3FFFFFFF elements.
0x00B01DB0103std__tree_0x20__recursive_destroy_00b01db0Recursively destroys all nodes in a 0x20-byte RB-tree. For each non-sentinel node, recursively destroys the right subtree, then frees the current node (0x20 bytes), and moves to the left child. Iterative on left, recursive on right.
0x00B01E2075std__tree_0x20__lower_boundFinds the lower_bound position for a key in a 0x20-byte node RB-tree. Walks the tree comparing the key at node+0x10 against *param_3. Returns an iterator structure with the node pointer, comparison flag, and bound position.
0x00B01E70124std__tree_0x20__ctorConstructor for a 0x20-byte node RB-tree. Allocates a 0x20-byte sentinel node, initializes it (left=right=parent=self, color flags 0x0101), sets element count to 0. Then calls FUN_00b02260 for additional initialization. Returns the constructed tree.
0x00B01EF067free_0x20_nodeFrees a single 0x20-byte node pointed to by param_1+4 if it's not null.
0x00B01F40111std__tree_0x20__destroy_all_and_sentinelDestroys all nodes in a 0x20-byte RB-tree and frees the sentinel. Iterates from the first element, recursively destroying right subtrees and freeing each 0x20-byte node. Finally frees the sentinel node itself.
0x00B01FC078free_0x20_node_00b01fc0Frees a single 0x20-byte node at param_1+4 if not null. Identical to free_0x20_node but in a different context.
0x00B0201078free_0x20_node_00b02010Frees a single 0x20-byte node at param_1+4 if not null. Another instance of the same pattern.
0x00B0206065std__tree_0x20__destroy_all_wrapperWrapper that calls std__tree_0x20__destroy_all_and_sentinel to destroy and deallocate all nodes in a 0x20-byte RB-tree.
0x00B020B077std__tree_0x20__destroy_all_wrapper2Another wrapper that calls std__tree_0x20__destroy_all_and_sentinel. Used from a different destruction context.
0x00B02100264std__tree_0x20__insert_key_valueInserts a key-value pair into a 0x20-byte node RB-tree (std::map). Uses lower_bound to find insertion position. If the key doesn't exist, allocates a 0x20-byte node, stores the key at offset 0x10, an 8-byte value at offsets 0x14-0x18, and a 4-byte value at offset 0x1C. Calls Insert_node for RB-tree balancing.
0x00B0221069std__tree_0x20__find_value_by_keyLooks up a value in a 0x20-byte node RB-tree by key. Uses lower_bound to find the node. If found and key matches, returns the value at offset 0x1C. Returns 0 if not found.
0x00B09ED0517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00B1621083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00B16530517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00B1680010thunk_to_std__Xout_of_range_00b16800Throws std::out_of_range exception for invalid vector subscript
0x00B1843034memcpy_range_to_dest_00b18430Copies memory range [param_1, param_2) to param_3. Returns pointer past end of destination. Essentially memcpy with range semantics.
0x00B18760131std__tree_0x20__recursive_destroy_with_vector_cleanupRecursively destroys a 0x20-byte node RB-tree, with additional cleanup of a vector member via CEffectManager__deallocate_vector on each node before freeing. Used for effect-related tree structures.
0x00B188E0113linked_list_0xc_destroyDestroys a singly-linked list of 0xC-byte nodes. Zeroes the count via the tail pointer, walks the list freeing each node, then frees the head node. SEH-wrapped.
0x00B1D98083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00B3B720517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00B3B930517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00B3BB40517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00B3BD5010thunk_to_std__Xlength_error_00b3bd50Thunk that calls std::_Xlength_error with vector_too_long message
0x00B3BD6062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00B3BDA0165linked_list_push_back_00b3bda0Pushes a value onto the back of a doubly-linked list. Allocates a 0xC-byte node, sets data from param_2, links at tail. Throws std::length_error if list is at max capacity (0x15555555).
0x00B3C970265std__regex_matchSTL std::regex_match implementation. Initializes regex match context from compiled regex pattern and input string, then performs full match. Returns match result. Cleans up temporary vectors on exit.
0x00B3CA80280std__regex_searchSTL std::regex_search implementation. Performs a partial regex search on a string. Initializes regex match context, searches for first occurrence, cleans up. Returns 0 if regex is null.
0x00B402A075_Find_lower_bound<>STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree.
0x00B406E083operator++STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent.
0x00B40910517Insert_nodeSTL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring.
0x00B4D770574STL_vector_effect_insert_growSTL vector insert with reallocation for effect structs (element size 0x24). Computes new capacity (1.5x growth), allocates new buffer, copies elements before/after insertion point using move semantics, inserts new element, frees old buffer. Updates vector pointers (begin, end, capacity).
0x00B4D9B0205STL_vector_effect_move_rangeMoves a range of effect structs (size 0x24 each, containing 3 ints + std::string + 2 more ints) from source to destination buffer. Performs element-wise move with string move semantics (transfers pointer, resets source).
0x00B4DA8094STL_vector_effect_copy_construct_elementCopy-constructs a single effect element (3 plain fields + an std::string) into a destination slot. Uses SEH for exception safety.
0x00B4DBE091STL_vector_effect_destroy_elementsDestroys all elements in a vector of effect structs (element size 0x24). Iterates from begin to end, calling std::string destructor on each element's string member.
0x00B4DC40198STL_vector_effect_clear_and_freeClears and frees a vector of effect structs. Destroys each element's std::string, then frees the backing buffer (with aligned allocation support for buffers > 0xFFF). Resets all three vector pointers to null.
0x00B4DD6068STL_string_dtor_wrapper_00b4dd60Thin SEH wrapper around std::string destructor. Sets up exception handler, calls STL_string_dtor, restores FS chain.
0x00B4E58093STL_vector_effect_destroy_rangeDestroys a range of effect elements (size 0x24 each) by calling std::string destructor on each element's string member. SEH protected.
0x00B4E5E010thunk_to_std__Xlength_error_00b4e5e0Thunk that calls std::_Xlength_error with vector_too_long message
0x00B4E5F061deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00B80CD034memcpy_range_to_dest_00b80cd0Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data in destination.
0x00B80D0034memcpy_range_to_dest_00b80d00Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data. Identical to memcpy_range_to_dest at different address.
0x00B80D3034memcpy_range_to_dest_00b80d30Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data. Identical to memcpy_range_to_dest at different address.
0x00B80D6034memcpy_range_to_dest_00b80d60Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data.
0x00B80D90452std__vector_int__insert_and_growSTL vector<int> insert with reallocation. Allocates new buffer (1.5x growth), copies element at insertion point, copies data before and after insertion point, frees old buffer. Handles aligned allocation for sizes >= 0x1000.
0x00B80F6037_Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_>STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset.
0x00B80F9037_Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_>STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset.
0x00B80FC037_Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_>STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset.
0x00B80FF037_Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_>STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset.
0x00B8102028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00B8104028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00B8106028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00B8108028_Zero_range<>STL _Zero_range. Zeroes a memory range using memset from first to last pointer.
0x00B810A034memcpy_range_to_dest_00b810a0Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data.
0x00B810D034memcpy_range_to_dest_00b810d0Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data.
0x00B8110034memcpy_range_to_dest_00b81100Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data.
0x00B8113034memcpy_range_to_dest_00b81130Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data.
0x00B81820129std__vector_ptr__free_bufferFrees the buffer of a vector<ptr>. Handles aligned deallocation for buffers > 0xFFF bytes. Zeros out start/end/capacity pointers after freeing.
0x00B82E4010thunk_to_std__Xlength_error_00b82e40Thunk that calls std::_Xlength_error for deque length overflow
0x00B82E5010thunk_to_std__Xlength_error_00b82e50Calls std::_Xlength_error with deque length error message
0x00B82E6010thunk_to_std__Xlength_error_00b82e60Throws deque length error exception
0x00B82E7010thunk_to_std__Xlength_error_00b82e70Thunk that calls std::_Xlength_error for deque length overflow
0x00B82E8010thunk_to_std__Xlength_error_00b82e80Calls std::_Xlength_error with vector_too_long error message
0x00B82E9062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00B8350059std__vector_assign_rangeAssigns a range [param_2, param_3) to the vector. Reallocates if needed, copies data via memcpy, updates end pointer.
0x00B8754010thunk_to_std__Xlength_error_00b87540Throws std::length_error for vector size overflow
0x00B8755010thunk_to_std__Xlength_error_00b87550Calls std::_Xlength_error with vector_too_long error message
0x00B8756058free_aligned_16byte_bufferFrees a buffer of 16-byte entries. Handles aligned deallocation for sizes > 0xFFF by reading the original pointer from -4 offset.
0x00B875A059free_aligned_108byte_bufferFrees a buffer of 0x108-byte entries. Handles aligned deallocation for sizes > 0xFFF.
0x00B877D034memcpy_range_to_dest_00b877d0Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past copied data.
0x00B8780034memcpy_range_to_dest_00b87800Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past copied data.
0x00B87830276std__vector_int__insert_and_grow_00b87830STL vector<int> insert with reallocation. 1.5x growth, copies at insertion point, uses STL_allocate_4byte_elements for allocation.
0x00B87970452std__vector_int__insert_and_grow_00b87970STL vector<int> insert with reallocation. 1.5x growth, aligned alloc for >0xFFF. Copies at insertion point, frees old buffer.
0x00B87B40264std__vector_byte__insert_and_growSTL vector<byte> insert with reallocation. 1.5x growth, inserts single byte at position, copies before/after data. Uses STL_aligned_heap_alloc and SpriteAction__swap_buffer for buffer management.
0x00B87C70276std__vector_int__insert_and_grow_00b87c70STL vector<int> insert with reallocation. 1.5x growth, uses STL_allocate_4byte_elements and FID_conflict__Change_array for buffer management.
0x00B87DB0574std__vector_12byte__insert_and_growSTL vector of 12-byte elements insert with reallocation. 1.5x growth (max 0x15555555), copies 12-byte entries using copy_12byte_entries_range, resets old entries to (-1,0,0) before freeing.
0x00B881F0129std__vector_4byte__free_buffer_00b881f0Frees a vector buffer (4-byte aligned elements). Handles aligned deallocation for >0xFFF, zeros pointers.
0x00B88280129std__vector_4byte__free_buffer_00b88280Frees a vector buffer (4-byte aligned elements). Identical pattern at different address.
0x00B88310129std__vector_8byte__free_bufferFrees a vector buffer (8-byte aligned elements). Handles aligned deallocation for >0xFFF, zeros pointers.
0x00B883A0162std__vector_40byte__free_bufferFrees a vector buffer of 0x28-byte (40-byte) elements. Calls FUN_00b8a640 to destroy entries first, then aligned free for >0xFFF.
0x00B88450185std__vector_12byte__free_bufferFrees a vector buffer of 12-byte elements. Resets each entry to (-1, 0, 0) before freeing. Handles aligned deallocation.
0x00B899709std__vector_4byte__sizeReturns the number of elements in a vector of 4-byte elements. Computes (end - begin) / 4.
0x00B8A5E090STL_vector__Change_array_00b8a5e0STL vector::_Change_array. Frees old buffer, then sets begin/end/capacity pointers to the new buffer.
0x00B8A96010thunk_to_std__Xlength_error_00b8a960Throws std::length_error for vector size violation
0x00B8A97010thunk_to_std__Xlength_error_00b8a970Thunk that calls std::_Xlength_error with vector_too_long message
0x00B8A98010thunk_to_std__Xlength_error_00b8a980Calls std::_Xlength_error with vector_too_long message, never returns
0x00B8A99092STL_allocate_4byte_elementsSTL vector allocator for 4-byte elements. Multiplies count by 4, allocates via operator new. For allocations >= 0x1000 bytes, adds 0x23 alignment overhead. Throws bad_array_new_length if count >= 0x40000000.
0x00B8A9F062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00B8AA3062deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00B8AA7061deallocateSTL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete.
0x00B8AAB044STL_vector_push_back_24bytePush back a 24-byte element (0x18) to an STL vector. If capacity available, copies via string copy construct and advances end pointer. Otherwise calls vector insert to grow.
0x00B8AAE0358STL_vector_assign_8byte_pairsAssigns a range of 8-byte pair elements to an STL vector. If new count <= current count, overwrites in place. Otherwise reallocates with 1.5x growth strategy. Copies existing elements and appends new ones. Frees old buffer if needed.
0x00B8AC5029memcpy_backward_offsetCopies memory range [param_1..param_2) to a destination computed by subtracting the range size from param_3. Used for backward element relocation in containers.
0x00B8AC7029memcpy_backward_offset_00b8ac70Copies memory range [param_1..param_2) to a destination computed by subtracting the range size from param_3. Identical to memcpy_backward_offset, duplicate at different address.
0x00B8AC9034memcpy_forward_return_endCopies memory range [param_1..param_2) to param_3. Returns pointer to end of destination (param_3 + copied size). Used for forward element relocation in containers.
0x00B8AD50452STL_vector_insert_single_4byte_00b8ad50Inserts a single 4-byte element into an STL vector at the given position. Reallocates with 1.5x growth, copies elements before/after insertion point, frees old buffer. Returns pointer to inserted element.
0x00B8AF20333STL_vector_insert_single_8byte_00b8af20Inserts a single 8-byte element into an STL vector at the given position. Reallocates with 1.5x growth, copies 8-byte pair elements before/after insertion point, frees old buffer. Returns pointer to inserted element.
0x00B8B090550STL_vector_insert_single_40byteInserts a single 40-byte (0x28) element into an STL vector. Reallocates with 1.5x growth, relocates elements via pathfind node copy helpers, resets and frees old nodes. Max element count 0x6666666. Returns pointer to inserted element.
0x00B8B2C0563STL_vector_insert_single_24byte_wstrInserts a single 24-byte (0x18) element containing a wstring into an STL vector. Reallocates with 1.5x growth, moves elements via wstring-aware copy, destroys old wstrings. Returns pointer to inserted element.
0x00B8BB80472std__sort_uint_introsort_00b8bb80STL introsort implementation for uint arrays. Uses quicksort with median-of-three partitioning, falls back to heapsort when recursion depth exceeded, and insertion sort for small ranges (<= 32 elements). Recursive with 3/4 depth reduction per level.

Part 3 of STL: functions 4,140 to 6,932, 0x00B8BD60 to 0x01034520