Back to legacygamers.net
WARPGATE

Game Core

CGameMode, CGameObject, CInputMgr, CStoveSDK, initialization, settings, hotkeys, timers, crash handling, services, utilities

Functions 1 to 1,915 of 8,042Code 2.5 MBAddresses 0x00401048 to 0x007C6480Group Game Logic
1,915 functions
AddressSizeNameDescription
0x004010486ijlInitImport thunk for Intel JPEG Library (IJL) ijlInit function
0x0040104E6ijlWriteImport thunk for Intel JPEG Library (IJL) ijlWrite function
0x004010546ijlFreeImport thunk for Intel JPEG Library (IJL) ijlFree function
0x0040105A6ijlReadImport thunk for Intel JPEG Library (IJL) ijlRead function
0x0040108016register_atexit_handler_00401080Registers LAB_00401090 as atexit cleanup handler
0x004016406thunk_00401640Thunk to FUN_027112dc
0x004016E067binary_search_pair_arrayBinary search pair array
0x00401C403noop_passthroughNo-op function that returns its first parameter unchanged
0x00401C501noop_voidEmpty function, no-op stub
0x004027101stub_ret_00402710Single-byte return stub at function boundary, likely alignment padding or placeholder
0x00402BE01stub_ret_00402be0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x00402F101stub_ret_00402f10Single-byte return stub at function boundary, likely alignment padding or placeholder
0x00403140157crc32_generate_tableGenerates 256-entry CRC32 lookup table using polynomial 0xEDB88320
0x004031F079crc32_update_bufferUpdates CRC32 running value byte-by-byte using precomputed table
0x00403370297crc32_compute_fileReads file in 64KB chunks, computes CRC32, inverts final result
0x004034A0390crc32_compute_file_partialComputes CRC32 of file from offset, reading up to N bytes
0x004036701stub_ret_00403670Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0040380039crc32_compute_bufferComputes CRC32 of memory buffer, inits 0xFFFFFFFF, inverts final
0x00403830253crc32_compute_file_mappedMemory-maps file (capped 500MB), computes CRC32 via buffer method
0x00405400133gdiplus_startup_initInitializes GDI+ via GdiplusStartup, registers atexit cleanup
0x0040D1D0202MSVC_exception_init_0040d1d0MSVC exception propagation: constructs exception with vtable, calls throw helper
0x0040E870202MSVC_exception_init_0040e870MSVC exception propagation: constructs exception with vtable, calls throw helper
0x004466E0608init_soul_ascetic_efst_strings_set1Inits 4 SOUL_ASCETIC EFST strings (blue/white/red/black) into globals
0x00446940568init_soul_ascetic_efst_strings_set2Inits 4 SOUL_ASCETIC EFST strings variant 2 (blue/white/red/black)
0x00446B80597init_soul_ascetic_efst_strings_set3Inits 4 SOUL_ASCETIC EFST strings variant 3 (blue/white/red/black)
0x0044D110123init_model_resource_manager_0044d110Static init: constructs model resource manager, registers with resource system
0x0044D6F0123init_palette_resource_manager_0044d6f0Static init: constructs palette resource manager, registers with resource system
0x0044DDC0151init_sprite_resource_manager_0044ddc0Static init: constructs sprite resource manager with vector init + atexit
0x0044E060123init_str_resource_manager_0044e060Static init: constructs str resource manager, registers with resource system
0x0044E630459init_resource_list_container_0044e630Static init: constructs resource container with 3 linked lists and 3 strings
0x00451990150init_packet_obfuscation_keys_00451990Static init: generates random seed and XOR-derives packet obfuscation keys
0x00451A30150init_packet_obfuscation_keys_00451a30Static init: generates random seed and XOR-derives packet obfuscation keys
0x0045267095init_global_linked_list_00452670Static init: allocates and self-links global linked list node + atexit cleanup
0x00453F10202register_packet_handler_with_alloc_00453f10Static init: allocates object and registers packet handler via vtable dispatch
0x00453FE0202register_packet_handler_with_alloc_00453fe0Static init: allocates object and registers packet handler via vtable dispatch
0x004540B0194init_global_struct_with_list_004540b0Static init: zeroes global struct, allocates linked list, sets default values
0x00457500202register_packet_handler_with_alloc_00457500Static init: allocates object and registers packet handler via vtable dispatch
0x00459E40194init_global_struct_with_list_00459e40Static init: zeroes global struct, allocates linked list, sets default values
0x0045A7E0202register_packet_handler_with_alloc_0045a7e0Static init: allocates object and registers packet handler via vtable dispatch
0x0045B800194init_global_struct_with_list_0045b800Static init: zeroes global struct, allocates linked list, sets default values
0x0045D990194init_global_struct_with_list_0045d990Static init: zeroes global struct, allocates linked list, sets default values
0x0045ECB0194init_global_struct_with_list_0045ecb0Static init: zeroes global struct, allocates linked list, sets default values
0x00460720202register_packet_handler_with_alloc_00460720Static init: allocates object and registers packet handler via vtable dispatch
0x004616C0202register_packet_handler_with_alloc_004616c0Static init: allocates object and registers packet handler via vtable dispatch
0x00463230202register_packet_handler_with_alloc_00463230Static init: allocates object and registers packet handler via vtable dispatch
0x004645F086init_static_object_004645f0Static init: constructs static object and registers atexit cleanup
0x004652F095init_global_linked_list_004652f0Static init: allocates and self-links global linked list node + atexit cleanup
0x0046654095init_global_linked_list_00466540Static init: allocates and self-links global linked list node + atexit cleanup
0x00466AF095init_global_linked_list_00466af0Static init: allocates and self-links global linked list node + atexit cleanup
0x004670A095init_global_linked_list_004670a0Static init: allocates and self-links global linked list node + atexit cleanup
0x004680F095init_global_linked_list_004680f0Static init: allocates and self-links global linked list node + atexit cleanup
0x00468BF095init_global_linked_list_00468bf0Static init: allocates and self-links global linked list node + atexit cleanup
0x004696F095init_global_linked_list_004696f0Static init: allocates and self-links global linked list node + atexit cleanup
0x00469CA095init_global_linked_list_00469ca0Static init: allocates and self-links global linked list node + atexit cleanup
0x0046A25095init_global_linked_list_0046a250Static init: allocates and self-links global linked list node + atexit cleanup
0x0046A80095init_global_linked_list_0046a800Static init: allocates and self-links global linked list node + atexit cleanup
0x0046ADB095init_global_linked_list_0046adb0Static init: allocates and self-links global linked list node + atexit cleanup
0x0046B36095init_global_linked_list_0046b360Static init: allocates and self-links global linked list node + atexit cleanup
0x0046B91095init_global_linked_list_0046b910Static init: allocates and self-links global linked list node + atexit cleanup
0x0046BEC095init_global_linked_list_0046bec0Static init: allocates and self-links global linked list node + atexit cleanup
0x0046C47095init_global_linked_list_0046c470Static init: allocates and self-links global linked list node + atexit cleanup
0x0046CA2095init_global_linked_list_0046ca20Static init: allocates and self-links global linked list node + atexit cleanup
0x0046D52095init_global_linked_list_0046d520Static init: allocates and self-links global linked list node + atexit cleanup
0x0046DAD095init_global_linked_list_0046dad0Static init: allocates and self-links global linked list node + atexit cleanup
0x0046E08095init_global_linked_list_0046e080Static init: allocates and self-links global linked list node + atexit cleanup
0x0046E63095init_global_linked_list_0046e630Static init: allocates and self-links global linked list node + atexit cleanup
0x0046EBE095init_global_linked_list_0046ebe0Static init: allocates and self-links global linked list node + atexit cleanup
0x0046F29095init_global_linked_list_0046f290Static init: allocates and self-links global linked list node + atexit cleanup
0x0046F3F0256init_global_string_struct_0046f3f0Static init: zeroes global struct fields and processes embedded string data
0x0046FA7095init_global_linked_list_0046fa70Static init: allocates and self-links global linked list node + atexit cleanup
0x0046FAD086init_static_object_0046fad0Static init: constructs static object and registers atexit cleanup
0x0047038095init_global_linked_list_00470380Static init: allocates and self-links global linked list node + atexit cleanup
0x0047093095init_global_linked_list_00470930Static init: allocates and self-links global linked list node + atexit cleanup
0x00470EE095init_global_linked_list_00470ee0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047149095init_global_linked_list_00471490Static init: allocates and self-links global linked list node + atexit cleanup
0x00471A4095init_global_linked_list_00471a40Static init: allocates and self-links global linked list node + atexit cleanup
0x004721F095init_global_linked_list_004721f0Static init: allocates and self-links global linked list node + atexit cleanup
0x004727A095init_global_linked_list_004727a0Static init: allocates and self-links global linked list node + atexit cleanup
0x00472D5095init_global_linked_list_00472d50Static init: allocates and self-links global linked list node + atexit cleanup
0x0047330095init_global_linked_list_00473300Static init: allocates and self-links global linked list node + atexit cleanup
0x004738B095init_global_linked_list_004738b0Static init: allocates and self-links global linked list node + atexit cleanup
0x00473E6095init_global_linked_list_00473e60Static init: allocates and self-links global linked list node + atexit cleanup
0x0047441095init_global_linked_list_00474410Static init: allocates and self-links global linked list node + atexit cleanup
0x004749C095init_global_linked_list_004749c0Static init: allocates and self-links global linked list node + atexit cleanup
0x00474F7095init_global_linked_list_00474f70Static init: allocates and self-links global linked list node + atexit cleanup
0x0047552095init_global_linked_list_00475520Static init: allocates and self-links global linked list node + atexit cleanup
0x00475AD095init_global_linked_list_00475ad0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047618095init_global_linked_list_00476180Static init: allocates and self-links global linked list node + atexit cleanup
0x0047673095init_global_linked_list_00476730Static init: allocates and self-links global linked list node + atexit cleanup
0x00476CE095init_global_linked_list_00476ce0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047729095init_global_linked_list_00477290Static init: allocates and self-links global linked list node + atexit cleanup
0x0047784095init_global_linked_list_00477840Static init: allocates and self-links global linked list node + atexit cleanup
0x004778A0194init_global_struct_with_list_004778a0Static init: zeroes global struct, allocates linked list, sets default values
0x00477EC095init_global_linked_list_00477ec0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047847095init_global_linked_list_00478470Static init: allocates and self-links global linked list node + atexit cleanup
0x00478A2095init_global_linked_list_00478a20Static init: allocates and self-links global linked list node + atexit cleanup
0x00478FD095init_global_linked_list_00478fd0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047958095init_global_linked_list_00479580Static init: allocates and self-links global linked list node + atexit cleanup
0x00479B3095init_global_linked_list_00479b30Static init: allocates and self-links global linked list node + atexit cleanup
0x0047A1E095init_global_linked_list_0047a1e0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047A79095init_global_linked_list_0047a790Static init: allocates and self-links global linked list node + atexit cleanup
0x0047AD4095init_global_linked_list_0047ad40Static init: allocates and self-links global linked list node + atexit cleanup
0x0047B2F095init_global_linked_list_0047b2f0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047B8B095init_global_linked_list_0047b8b0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047BE6095init_global_linked_list_0047be60Static init: allocates and self-links global linked list node + atexit cleanup
0x0047C41095init_global_linked_list_0047c410Static init: allocates and self-links global linked list node + atexit cleanup
0x0047C9C095init_global_linked_list_0047c9c0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047CF7095init_global_linked_list_0047cf70Static init: allocates and self-links global linked list node + atexit cleanup
0x0047D52095init_global_linked_list_0047d520Static init: allocates and self-links global linked list node + atexit cleanup
0x0047D580194init_global_struct_with_list_0047d580Static init: zeroes global struct, allocates linked list, sets default values
0x0047DBA095init_global_linked_list_0047dba0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047E15095init_global_linked_list_0047e150Static init: allocates and self-links global linked list node + atexit cleanup
0x0047E80095init_global_linked_list_0047e800Static init: allocates and self-links global linked list node + atexit cleanup
0x0047E860194init_global_struct_with_list_0047e860Static init: zeroes global struct, allocates linked list, sets default values
0x0047EE8095init_global_linked_list_0047ee80Static init: allocates and self-links global linked list node + atexit cleanup
0x0047EEE0194init_global_struct_with_list_0047eee0Static init: zeroes global struct, allocates linked list, sets default values
0x0047F57095init_global_linked_list_0047f570Static init: allocates and self-links global linked list node + atexit cleanup
0x0047F5D095init_global_linked_list_0047f5d0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047F63095init_global_linked_list_0047f630Static init: allocates and self-links global linked list node + atexit cleanup
0x0047FBE095init_global_linked_list_0047fbe0Static init: allocates and self-links global linked list node + atexit cleanup
0x0047FC40194init_global_struct_with_list_0047fc40Static init: zeroes global struct, allocates linked list, sets default values
0x0048026095init_global_linked_list_00480260Static init: allocates and self-links global linked list node + atexit cleanup
0x0048081095init_global_linked_list_00480810Static init: allocates and self-links global linked list node + atexit cleanup
0x00480DC095init_global_linked_list_00480dc0Static init: allocates and self-links global linked list node + atexit cleanup
0x0048137095init_global_linked_list_00481370Static init: allocates and self-links global linked list node + atexit cleanup
0x0048192095init_global_linked_list_00481920Static init: allocates and self-links global linked list node + atexit cleanup
0x00481ED095init_global_linked_list_00481ed0Static init: allocates and self-links global linked list node + atexit cleanup
0x00481F30194init_global_struct_with_list_00481f30Static init: zeroes global struct, allocates linked list, sets default values
0x0048255095init_global_linked_list_00482550Static init: allocates and self-links global linked list node + atexit cleanup
0x00482B0095init_global_linked_list_00482b00Static init: allocates and self-links global linked list node + atexit cleanup
0x004835B095init_global_linked_list_004835b0Static init: allocates and self-links global linked list node + atexit cleanup
0x00483B6095init_global_linked_list_00483b60Static init: allocates and self-links global linked list node + atexit cleanup
0x0048411095init_global_linked_list_00484110Static init: allocates and self-links global linked list node + atexit cleanup
0x004846C095init_global_linked_list_004846c0Static init: allocates and self-links global linked list node + atexit cleanup
0x00484C7095init_global_linked_list_00484c70Static init: allocates and self-links global linked list node + atexit cleanup
0x0048522095init_global_linked_list_00485220Static init: allocates and self-links global linked list node + atexit cleanup
0x004857D095init_global_linked_list_004857d0Static init: allocates and self-links global linked list node + atexit cleanup
0x00485E8095init_global_linked_list_00485e80Static init: allocates and self-links global linked list node + atexit cleanup
0x0048643095init_global_linked_list_00486430Static init: allocates and self-links global linked list node + atexit cleanup
0x004869E095init_global_linked_list_004869e0Static init: allocates and self-links global linked list node + atexit cleanup
0x004874E095init_global_linked_list_004874e0Static init: allocates and self-links global linked list node + atexit cleanup
0x00487A9095init_global_linked_list_00487a90Static init: allocates and self-links global linked list node + atexit cleanup
0x00487B10254init_CUIWindowPositionMgr_singleton_00487b10Static init: creates CUIWindowPositionMgr singleton (0x34 bytes) if not yet created, stores in global DAT_01457098, then registers UI callback with key 0x2712 via UIComponent__insert_callback_by_key
0x0048816095init_global_linked_list_00488160Static init: allocates and self-links global linked list node + atexit cleanup
0x0048871095init_global_linked_list_00488710Static init: allocates and self-links global linked list node + atexit cleanup
0x004892C095init_global_linked_list_004892c0Static init: allocates and self-links global linked list node + atexit cleanup
0x0048987095init_global_linked_list_00489870Static init: allocates and self-links global linked list node + atexit cleanup
0x0048A37095init_global_linked_list_0048a370Static init: allocates and self-links global linked list node + atexit cleanup
0x0048A92095init_global_linked_list_0048a920Static init: allocates and self-links global linked list node + atexit cleanup
0x0048AED095init_global_linked_list_0048aed0Static init: allocates and self-links global linked list node + atexit cleanup
0x0048B48095init_global_linked_list_0048b480Static init: allocates and self-links global linked list node + atexit cleanup
0x0048BA3095init_global_linked_list_0048ba30Static init: allocates and self-links global linked list node + atexit cleanup
0x0048BFE095init_global_linked_list_0048bfe0Static init: allocates and self-links global linked list node + atexit cleanup
0x0048C59095init_global_linked_list_0048c590Static init: allocates and self-links global linked list node + atexit cleanup
0x0048D09095init_global_linked_list_0048d090Static init: allocates and self-links global linked list node + atexit cleanup
0x0048D64095init_global_linked_list_0048d640Static init: allocates and self-links global linked list node + atexit cleanup
0x0048DBF095init_global_linked_list_0048dbf0Static init: allocates and self-links global linked list node + atexit cleanup
0x0048E1A095init_global_linked_list_0048e1a0Static init: allocates and self-links global linked list node + atexit cleanup
0x0048E75095init_global_linked_list_0048e750Static init: allocates and self-links global linked list node + atexit cleanup
0x0048ED0095init_global_linked_list_0048ed00Static init: allocates and self-links global linked list node + atexit cleanup
0x0048F80095init_global_linked_list_0048f800Static init: allocates and self-links global linked list node + atexit cleanup
0x0048FDB095init_global_linked_list_0048fdb0Static init: allocates and self-links global linked list node + atexit cleanup
0x0049135095init_global_linked_list_00491350Static init: allocates and self-links global linked list node + atexit cleanup
0x00491A0095init_global_linked_list_00491a00Static init: allocates and self-links global linked list node + atexit cleanup
0x00491FB095init_global_linked_list_00491fb0Static init: allocates and self-links global linked list node + atexit cleanup
0x00492010254init_CUIWindowPositionMgr_singleton_00492010Static init: creates CUIWindowPositionMgr singleton (0x34 bytes) if not yet allocated, stores at DAT_01457098, then registers UI callback with key 0x2716 via UIComponent__insert_callback_by_key
0x0049266095init_global_linked_list_00492660Static init: allocates and self-links global linked list node + atexit cleanup
0x00492C70254singleton_register_UIWindowPositionMgr_0x2711Static init: creates CUIWindowPositionMgr singleton (0x34 bytes) at DAT_01457098, then registers UI component factory callback with key 0x2711 via UIComponent__insert_callback_by_key
0x00493AD0254singleton_register_factory_0x271bRegisters singleton factory ID 0x271b via operator_new and FUN_009d31f0
0x00494730254singleton_register_factory_0x271eRegisters singleton factory ID 0x271e via operator_new and FUN_009d31f0
0x004955B0254singleton_register_factory_0x2715Registers singleton factory ID 0x2715 via operator_new and FUN_009d31f0
0x00496610254singleton_register_factory_0x271cRegisters singleton factory ID 0x271c via operator_new and FUN_009d31f0
0x00497950254singleton_register_factory_0x2719Registers singleton factory ID 0x2719 via operator_new and FUN_009d31f0
0x004985B0254singleton_register_factory_0x271aRegisters singleton factory ID 0x271a via operator_new and FUN_009d31f0
0x00499210254singleton_register_factory_0x2718Registers singleton factory ID 0x2718 via operator_new and FUN_009d31f0
0x0049B670254singleton_register_factory_0x2731Registers singleton factory ID 0x2731 via operator_new and FUN_009d31f0
0x0049C2D0254singleton_register_factory_0x272eRegisters singleton factory ID 0x272e via operator_new and FUN_009d31f0
0x004AA60B1stub_ret_004aa60bSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x004C68571stub_ret_004c6857Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004D2CB020_AtlInitializeCriticalSectionExATL wrapper around InitializeCriticalSectionEx. Returns the BOOL result directly.
0x004D2D70229xxhash_murmurhash3_mix64MurmurHash3-style 64-bit mix processing 8 bytes per iteration
0x004D2F60229xxhash_murmurhash3_mix128MurmurHash3-style 128-bit mix returning 8-byte result
0x004D315043XXH128_hash_from_canonicalConverts canonical big-endian form to XXH128 hash value
0x004D318091XXH128_canonicalize_from_hashConverts XXH128 hash to canonical big-endian byte order
0x004D31E0158XXH128_compareCompares two 128-bit XXH hash values, returns -1/0/1
0x004D328047XXH128_bswap_copyByte-swaps and copies 128-bit hash value between buffers
0x004D32B0102XXH128_is_equalTests equality of two 128-bit hash values, returns 0 or 1
0x004D352019XXH_free_stateFrees XXH hash state buffer and returns 0
0x004D56F01stub_ret_004d56f0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004D6C291stub_ret_004d6c29Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004D71CE1stub_ret_004d71ceSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x004D72901stub_ret_004d7290Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004D73341stub_ret_004d7334Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004D9F301stub_ret_004d9f30Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004DF5C017bswap64_from_two_uint32Byte-swaps two 32-bit values and returns them as a combined 64-bit value with swapped order (big-endian to little-endian conversion for 64-bit integer stored as two uint32s).
0x004DF8F019store_uint64_as_two_uint32Simple 8-byte store: writes two uint32 values (param_2 and param_3) to the location pointed to by param_1.
0x004E07A049_Allocate_manually_vector_aligned<struct_std::_Default_allocate_traits>Allocates memory with 32-byte alignment for SIMD vector operations. Adds 0x23 bytes padding, aligns, and stores original pointer at offset -4.
0x004E3A2045_Hash_array_representation<char>FNV-1a hash of a char array. Uses offset basis 0x811c9dc5 and prime 0x1000193.
0x004E5B50133_Traits_compare<struct_std::char_traits<char>_>Lexicographic comparison of two char arrays with length. Compares 4 bytes at a time for speed, then byte-by-byte. Returns -1/0/1 based on content and length difference.
0x004E5BE0100_Traits_equal<struct_std::char_traits<char>_>STL char_traits equality comparison. Compares two char sequences for equality: first checks if lengths match, then compares 4 bytes at a time, with byte-by-byte fallback for remainder. VS2019 library function.
0x004E5C5056_UIntegral_to_buff<>Converts unsigned integer to decimal char buffer by repeatedly dividing by 10 and writing digits in reverse. Returns pointer to start of digit string. VS2019 library template.
0x004F7E301stub_ret_004f7e30Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004F7E401stub_ret_004f7e40Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004F7E501stub_ret_004f7e50Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004F7E701stub_ret_004f7e70Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004F7E801stub_ret_004f7e80Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004F7E901stub_ret_004f7e90Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004F7EA01stub_ret_004f7ea0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004F7EC01stub_ret_004f7ec0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x004F90B035_Reset_backstd::basic_filebuf<char>::_Reset_back(). Restores the get-area pointers from saved state if the current buffer points to the internal putback area (offset +0x3C). MSVC library function.
0x004FA59040operator=SimpleString assignment operator. Computes string length, then appends to internal buffer.
0x004FD04039equivalentChecks if an error_code is equivalent to a given int value by comparing category identity and code value.
0x004FD07060equivalentChecks if an int value is equivalent to an error_condition by converting via virtual default_error_condition, then comparing category and code.
0x00505C7061underflowbasic_filebuf underflow. Returns the current character from the get area if available, otherwise calls uflow/sputbackc to read the next character.
0x0051C1901stub_ret_0051c190Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0051C1A01stub_ret_0051c1a0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0051C1B01stub_ret_0051c1b0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0051C1C01stub_ret_0051c1c0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0051C1D01stub_ret_0051c1d0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x005221A051CLuaInstance__vsprintf_wrapperCLuaInstance helper: calls __stdio_common_vsprintf with global singleton options. Returns formatted length or -1 on error.
0x005221E074CLuaInstance__ctorCLuaInstance constructor. Sets vtable, creates new lua_State via luaL_newstate, opens standard libraries, registers panic handler (MessageBox on error), and registers global "MessageBox" function.
0x0052223090CLuaInstance__base_dtorCLuaInstance base class destructor. Sets base vtable, closes file handle via CFileStream, destroys internal STL string. Called from both dtor variants.
0x0052229082CLuaInstance__dtorCLuaInstance destructor. Sets vtable, calls lua_close on the stored lua_State if non-null, then nulls the pointer.
0x005222F0111CLuaInstance__base_scalar_deleting_dtorCLuaInstance base class scalar deleting destructor. Sets base vtable, closes file handle, destroys STL string, optionally frees memory (0x2C bytes) if bit 0 of param is set.
0x00522360103CLuaInstance__scalar_deleting_dtorCLuaInstance scalar deleting destructor. Sets vtable, calls lua_close if lua_State is non-null, optionally frees memory (8 bytes) if bit 0 of param is set.
0x005223D097CLuaInstance__execute_stringCLuaInstance::ExecuteString. Gets STL string from param, sets it as a global field, calls lua_pcall. On error, shows MessageBox with title "Lua Error" and the error string from lua_tostring. Returns 1 on success, 0 on error.
0x00522460263CLuaInstance__panic_handlerCLuaInstance Lua panic handler (lua_CFunction). Gets the error message via lua_tostring(-1), copies it to a local STL string, and shows a MessageBox with title "CLuaInstance". Returns 0. Registered as lua_atpanic callback.
0x0052257028CLuaInstance__close_stateCLuaInstance::CloseState. If the lua_State at this+4 is non-null, calls lua_close and sets the pointer to 0.
0x0052259082CLuaInstance__reset_stateCLuaInstance::ResetState. Closes existing lua_State if any, creates a new one via luaL_newstate, opens standard libraries, re-registers panic handler and global "MessageBox" function. Essentially re-initializes the Lua environment.
0x005225F0112CLuaInstance__execute_bufferCLuaInstance::ExecuteBuffer. Loads an STL string as Lua chunk via luaL_loadbuffer, then calls lua_pcall with 0 args and LUA_MULTRET. On error, if param_3 is true, shows MessageBox with the error message and the buffer name as title. Returns 1 on success, 0 on error.
0x00522660475CLuaInstance__execute_fileCLuaInstance::ExecuteFile. Opens file via CFileStream, reads entire contents into a malloc'd buffer, loads it via luaL_loadbuffer, calls lua_pcall. On error shows MessageBox with error string and filename. Frees buffer and closes file. Returns 1 on success, 0 on failure.
0x0052284041CLuaInstance__register_defaultsCLuaInstance::RegisterDefaults. Registers the panic handler callback and the global "MessageBox" function into the lua_State. Called during construction and reset.
0x0052287055CLuaInstance__set_global_booleanCLuaInstance::SetGlobalBoolean. Pushes a boolean value onto the Lua stack, then sets it as a global variable with the given STL string name (at pseudo-index LUA_GLOBALSINDEX).
0x005228B055CLuaInstance__set_global_functionCLuaInstance::SetGlobalFunction. Pushes a C function onto the Lua stack via lua_pushcclosure, then sets it as a global variable with the given STL string name (at pseudo-index LUA_GLOBALSINDEX).
0x005228F063CLuaInstance__set_global_numberCLuaInstance::SetGlobalNumber. Pushes a double (lua_Number) onto the Lua stack, then sets it as a global variable with the given STL string name (at pseudo-index LUA_GLOBALSINDEX).
0x00526620274luaopen_base_00526620Lua: luaopen_base - registers base library functions (assert, error, pcall, xpcall, tostring, ipairs, pairs, newproxy, etc.), sets _VERSION="Lua 5.1", and opens coroutine sub-library.
0x0052A27031luaopen_debug_0052a270Lua debug library: module loader. Registers the debug library functions (getinfo, getlocal, setlocal, getupvalue, setupvalue, sethook, gethook, debug, traceback) under the "debug" table name via luaL_register.
0x0052F480552luaopen_io_0052f480Lua io library: luaopen_io - initializes the io library. Creates FILE* metatable with __index pointing to itself. Registers file methods (close/flush/lines/read/seek/setvbuf/write). Creates env tables with __close functions for regular files (fclose), standard files (noclose), and popen files (pclose). Sets up stdin (slot 1), stdout (slot 2), stderr as FILE* userdata wrapping __acrt_iob_func(0/1/2).
0x0053A8AB1stub_ret_0053a8abSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x0053E4A080CDateTime__constructorCDateTime constructor: sets vtable, initializes with current tick count, zeros date fields
0x0053E51030CDateTime__scalar_destructorCDateTime scalar deleting destructor, frees 4-byte object if flag set
0x0053E53036CDateTime__destructorCDateTime destructor: resets vtable, optionally frees 0x30-byte object
0x0053E560199CDateTime__add_timeAdds hours/minutes/ticks to datetime, updates internal timestamp and Y/M/D/H/M/S fields
0x0053E63057CDateTime__get_localtimeConverts internal timestamp to tm struct via _localtime64_s
0x0053E67036CDateTime__abs_durationComputes absolute value of a 64-bit signed time duration
0x0053E6F043CDateTime__get_elapsed_absComputes absolute elapsed time from stored timestamp to current time
0x0053E72030CDateTime__get_elapsed_rawReturns raw elapsed time (signed 64-bit) from stored timestamp to current time
0x0053E74074CDateTime__get_elapsed_unitsCalculates elapsed time in specified units (0=100ns, 1=us, 2=ms, 3=seconds)
0x0053E85067CDateTime__get_remaining_msComputes absolute time difference in milliseconds between current and target timestamp
0x0053E8A0112CDateTime__format_stringFormats datetime as "YYYY-MM-DD HH:MM:SS" string via wsprintfA
0x0053E930156CDateTime__update_nowUpdates datetime to current time via _Xtime_get_ticks plus stored offset, refreshes Y/M/D/H/M/S
0x005402D09wrapper_STL_vector_assign_20byte_AThin wrapper around STL_vector_assign_20byte
0x005403609wrapper_STL_vector_assign_20byte_BThin wrapper around STL_vector_assign_20byte
0x00541870476quaternion_slerp_fullFull quaternion SLERP with dot-product sign correction and acos-based angle interpolation
0x00541A5099vector3_lerpLinear interpolation of 3D vectors: result = (1-t)*a + t*b
0x00541AC0108vector3_lerp_double_precisionLinear interpolation of 3D vectors using double-precision for (1-t) computation
0x00541B30411quaternion_slerp_with_extra_spinQuaternion SLERP with extra spin parameter for multi-revolution interpolation
0x00542D6095CD3DRenderTarget__constructorConstructs D3D render target by calling CD3DSurface create then setting derived vtable
0x00542E3035CD3DBase__scalar_destructorBase D3D scalar deleting destructor, frees 4-byte object if flag set
0x00542EE0132CD3DRenderTarget__destructorD3D render target destructor: releases COM surface, optionally frees 20-byte obj
0x00543EC0255CRenderQueue__allocate_mesh_entryAllocates a 0xA8-byte mesh entry from circular buffer, grows if full
0x00547520325blend_argb_colorsAlpha-blends two ARGB colors using param2's alpha as blend factor, returns composited ARGB value
0x00547670125apply_color_tintApplies grayscale + color tint to RGB: averages channels, clamps to min, then boosts R/G/B based on tint mode 1-4
0x005476F070unpack_rgb555_and_tintUnpacks 15-bit RGB555 pixel to 8-bit channels and applies color tint transform
0x0054774067unpack_rgb4444_and_tintUnpacks 16-bit ARGB4444 pixel to 8-bit channels and applies color tint transform
0x00548B301stub_ret_00548b30Single-byte return stub at function boundary, likely alignment padding or placeholder
0x00548C0048init_ddsurface_descInitializes DDSURFACEDESC2 struct with size=0x7C, width/height, 32-bit pixel format
0x00548C30350build_perspective_projection_matrixBuilds 4x4 perspective projection matrix from FOV, aspect ratio, near and far planes
0x00548D90131d3d_trace_errorOutputs debug trace with file:line, error message, and optional HRESULT to OutputDebugString
0x00548E20436CSharedTexture__constructorConstructs shared texture with refcounted control block, loads texture via resource manager singleton
0x00548FE0172CSharedTexture__copy_constructorCopy constructs shared texture with interlocked refcount increment on control block
0x005490D0127CSharedTexture__destructorReleases shared texture refcount, destroys control block and texture data when refcount reaches zero
0x0054916030CRefCountBlock__scalar_deleting_destructorScalar deleting destructor for 16-byte refcount control block
0x00549180148CSharedTexture__scalar_deleting_destructorScalar deleting destructor: decrements refcount, releases control block, optionally frees 12-byte object
0x00549820116convert_bgra_to_rgb565Converts BGRA pixel array to RGB565 format, replacing near-white pixels with colorkey value
0x00549D90120create_bitmap_font_bufferAllocates and constructs CBitmapFont with given dimensions, fills with magenta colorkey
0x0054A8B026safe_release_com_objectIf pointer non-null, tail-calls vtable[0] with argument 1. Used as a safe release/destroy wrapper for COM-like objects.
0x0054A97068d3d_texture_format_callbackEnumTextureFormats callback: selects best pixel format with matching bpp, preferring higher bit depth
0x0054AA50122get_client_rect_in_screenGets client rect and converts to screen coordinates, applying global display offset
0x0054C2A0410d3d9_set_default_render_statesConfigures default D3D9 render states: lighting, alpha blend, texture stages, sampler states
0x0054C540129safe_realloc_bufferReallocates or frees buffer with calloc/recalloc, aborts on allocation failure
0x0054C78029memmove_backwardCopies memory range [param1, param2) to destination ending at param3 using memcpy
0x0054CD60184sort3_elements_0x18Sorts 3 adjacent 24-byte elements in-place using 3-field comparison for render queue ordering
0x0054CE20796partition_0x18_elementsDutch national flag partition for 24-byte elements using median-of-3 pivot selection
0x0054D280539introsort_0x18_elementsIntrosort for 24-byte render queue entries: quicksort with heapsort fallback and insertion sort finish
0x0054D4A014trivial_constructor_set_fieldTrivial constructor that sets single field to given value
0x0054D5C068CBuffer__free_externalFrees dynamically allocated buffer if it differs from inline storage
0x0054D85056CGDIPlusFont__delete_familyDeletes GDI+ font family handle via GdipDeleteFontFamily
0x0054D92092CGDIPlusFontCollection__destructorDestroys private font collection via GdipDeletePrivateFontCollection, resets vtable
0x0054DA00111CGDIPlusBase__scalar_deleting_destructorScalar deleting destructor for GDI+ base: frees via GdipFree or aligned free based on flags
0x0054DA80144CGDIPlusFontCollection__scalar_deleting_destructorScalar deleting destructor: deletes private font collection and frees via GdipFree or aligned free
0x0054DB40263submit_textured_quad_to_render_queueBuilds 4-vertex textured quad with UV coords and color, submits to render pipeline for drawing
0x0054DC5028throw_hresult_exceptionConstructs HRESULT exception object and throws it via CxxThrowException (does not return)
0x0054DC7024throw_last_win32_errorGets last Win32 error, converts to HRESULT (FACILITY_WIN32), and throws as exception
0x0054FDA0366wide_char_to_multibyte_allocConverts wide string to multibyte using WideCharToMultiByte with dynamic buffer allocation/realloc
0x00550A8096d3d_snprintf_wrapperFormats string via __stdio_common_vsnprintf_s into 1024-byte buffer, returns char count or -1
0x00550C40262d3d_log_error_with_hresultLogs D3D error via OutputDebugStringA with file/line and HRESULT name (D3DERR_xxx) mapping
0x00550F70344d3d_get_error_descriptionReturns human-readable description string for D3D HRESULT error codes
0x005511D0344d3d_get_error_nameReturns D3D error code name string (e.g. "D3DERR_DEVICELOST") for HRESULT value
0x005528C0255compute_rotation_vector_from_euler_anglesComputes a 4-element rotation vector from 3 Euler angles using sin/cos. Output is a combined rotation representation, not a direct vertex transform.
0x005544C0350quaternion_slerpSpherical linear interpolation between two quaternions by parameter t, handles antipodal case
0x005546F0514matrix3x3_to_quaternionConverts 3x3 rotation matrix to quaternion using Shepperd's method, ensures positive w
0x00557450389sort_median_of_nine_by_offset8Median-of-nine pivot selection by uint at offset 0x8
0x005575E0288insertion_sort_float_pair_arrayInsertion sort for float pair array (8 bytes each)
0x00557700350heap_make_float_pair_arrayBuilds max-heap from float pair array
0x00557860108sort_median_of_three_by_offset10Median-of-three by uints at offsets 0x10/0x14
0x005578D0120sort_median_of_three_by_offset10_altMedian-of-three alternate comparison at 0x10/0x14
0x00557950292sort_median_of_three_float_pairMedian-of-three for float pair elements
0x00557A80402quicksort_partition_by_offset8Three-way partition by uint at offset 0x8
0x00557C20721quicksort_partition_by_offset10_14Three-way partition by uints at 0x10/0x14
0x00557F00749quicksort_partition_by_offset10_14_altThree-way partition alternate at 0x10/0x14
0x005581F01137quicksort_partition_float_pairThree-way partition for float pair array
0x00558A00571introsort_pointer_array_by_offset8Introsort for pointer array by uint at offset 0x8
0x00558C40617introsort_pointer_array_by_offset10_14Introsort for pointer array by offsets 0x10/0x14
0x00558EB0601introsort_pointer_array_by_offset10_14_altIntrosort alternate comparison at 0x10/0x14
0x00559110254introsort_float_pair_arrayIntrosort for float pair array
0x0055CFC0183blend_argb_colors_by_alphaBlends two ARGB colors using param_2 alpha as ratio
0x0055D08023get_texture_quality_sizeReturns texture quality size: 0->32, 1->64, 2->128, 3->256 pixels. Used for texture resolution selection.
0x0055D0AD1stub_ret_0055d0adSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x0055D0D026CRenderDevice__get_transform_dataCopies 0xEC bytes of transform data from offset 0x48
0x0055D12046compute_fog_density_from_distanceComputes fog density using linear fog formula
0x0055D190108generate_random_alpha_byteGenerates random byte shifted to alpha channel bits 24-31
0x0055D31047compute_perspective_correction_factorComputes perspective correction from distance
0x0055D340153init_text_render_singletonThread-safe lazy initialization of text render singleton at DAT_01387330. Uses thread_header/epoch_counter pattern for one-time init with atexit cleanup.
0x0055FF101stub_ret_0055ff10Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0055FF201stub_ret_0055ff20Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0055FF301stub_ret_0055ff30Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0055FF401stub_ret_0055ff40Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0055FF501stub_ret_0055ff50Single-byte return stub at function boundary, likely alignment padding or placeholder
0x00565AA31stub_ret_00565aa3Single-byte return stub at function boundary, likely alignment padding or placeholder
0x00568EF075CRenderVertex__init_with_paramsInitializes a render vertex structure with two parameters (likely position coords or texture coords). Sets 10 DWORD fields: first two from params, rest zeroed. Field 5 set to 1 (short), field 9 set to 4 (likely FVF/type flag).
0x00568F4071CRenderVertex__init_defaultDefault-initializes a render vertex structure. Zeros all 10 DWORD fields. Field 5 set to 1 (short), field 9 set to 4 (type flag). Same layout as CRenderVertex__init_with_params but all zeros.
0x00568F90139CRenderVertexBuffer__init_from_source_32byteInitializes a vertex buffer with 4 vertices (stride 0x28=40 bytes each, 0xFF000000 default alpha). Copies 0x28 DWORDs (160 bytes) of vertex data from source+0x1C. Sets capacity=4, count/flags=0, type=5.
0x00569020105CRenderVertexBuffer__init_default_32byteDefault-initializes a vertex buffer with 4 vertices at 40-byte stride. Each vertex has 0xFF000000 (opaque black) as default diffuse color. Sets capacity=4, count/flags=0, type=5. Data stored inline at offset +7 DWORDs.
0x0056909071CRenderVertex__init_default_00569090Identical to CRenderVertex__init_default, zeros all 10 DWORD fields, sets field 5 to 1 (short) and field 9 to 4 (type flag). Duplicate at different address.
0x005690E051CRenderVertexBuffer__init_emptyInitializes a minimal vertex buffer struct. Zeros 7 DWORD fields (position, count, flags, etc.) and sets type field to 5. No vertex data allocated.
0x00569120171CRenderVertexBuffer__init_from_source_28byteInitializes a vertex buffer with 4 vertices at 32-byte stride (8 DWORDs each, with 0xFF000000 default diffuse). Copies 0x20 DWORDs (128 bytes) of vertex data from source+0x28. Header: capacity=4, type flag=1 (short at field 5), buffer type=5.
0x005691D0153CRenderVertexBuffer__init_default_28byteDefault-initializes a vertex buffer with 4 vertices at 32-byte stride (8 DWORDs each). Each vertex gets 0xFF000000 as default diffuse color. Header includes capacity=4, type flag=1, buffer type=5. Data stored inline at offset +10 DWORDs.
0x005692F028CRenderVertexBuffer__free_dataFrees the vertex data buffer if allocated. Calls operator_delete with size 0x20 (32 bytes) and nullifies the pointer.
0x0056934031CRenderVertexBuffer__copy_vertex_data_32byteCopies 0x28 DWORDs (160 bytes) of vertex data from source+0x1C to this+0x1C. Used for 32-byte stride vertex buffers (4 vertices x 40 bytes = 160 bytes total).
0x0056936031CRenderVertexBuffer__copy_vertex_data_28byteCopies 0x20 DWORDs (128 bytes) of vertex data from source+0x28 to this+0x28. Used for 28-byte stride vertex buffers (4 vertices x 32 bytes = 128 bytes total).
0x00569380225CRenderVertexBuffer__allocate_vertex_arrayAllocates a vertex array of param_2*3 vertices at 0x20 (32) bytes each. Initializes each vertex with zeroed fields and 0xFF000000 (opaque black) as default diffuse color. Returns allocated pointer via param_1, or sets to null on allocation failure. SEH-protected.
0x005694A057CRenderVertexBuffer__randomize_alpha_32byteIterates over all vertices in a 32-byte stride buffer. For each vertex, reads the value at offset +0x0C (likely existing color), generates a random alpha byte via generate_random_alpha_byte, and stores the result at offset +0x14 (diffuse color with random alpha).
0x005694E057CRenderVertexBuffer__randomize_alpha_40byteIterates over all vertices in a 40-byte stride (0x28) buffer. For each vertex, reads color at +0x0C, generates random alpha via generate_random_alpha_byte, stores at +0x14. Same logic as the 32-byte version but with larger vertex stride.
0x0056952057CRenderVertexBuffer__randomize_alpha_40byte_00569520Identical to CRenderVertexBuffer__randomize_alpha_40byte, iterates vertices at 0x28 stride, generates random alpha for each. Duplicate at different address, possibly used by a different caller context.
0x0056956028CRenderVertexBuffer__check_all_positions_validChecks if all 3 vertex positions (at 32-byte stride, float at offset +0x0C) are greater than 0.0. Returns true (1) only if all 3 pass the check. Returns false immediately on finding any <= 0.0 position value.
0x0056958058CRenderVertexBuffer__set_vertex_position_32byteSets 4 DWORDs (position x,y,z,w or x,y,z + rhw) at a given vertex index in a 32-byte stride vertex buffer. Index is multiplied by 0x20 to get the offset into the data array.
0x005695C058CRenderVertexBuffer__set_vertex_position_32byte_005695c0Identical to CRenderVertexBuffer__set_vertex_position_32byte, sets 4 DWORDs at vertex index * 0x20 in the data array. Duplicate at different address.
0x0056A0F0310CRenderConfig__init_from_globalsInitializes a render configuration struct from global variables at 0x0173a8xx. Determines render system type (1=D3D, 2=software) from DAT_0173a8f0 or get_render_system_default. For type 1: copies D3D configuration (matrices, light params) from globals. For type 2: copies software renderer config and a shader name string. Contains two embedded std::string fields (SSO). SEH-protected.
0x0056A24021CRenderSystem__set_default_resolutionSets default resolution to 768x1024 (param_1[0] = 0x300, param_1[1] = 0x400)
0x0056A28014CRenderSystem__get_device_caps_vtable_0x30Calls vtable offset 0x30 on the render device if it exists, returns 0 if device is null
0x0056A29014CRenderSystem__get_device_vtable_0x18Calls vtable offset 0x18 on the render device if it exists, returns 0 if device is null
0x0056A2A0593CRenderSystem__build_render_api_listBuilds a vector of available render APIs. Adds "DirectX 7" (id=1) and "DirectX 9" (id=2) as render item entries with 0x1c stride.
0x0056A500137CRenderSystem__get_device_info_vtable_0x34Calls vtable offset 0x34 on the render device to get info into param_2. Returns empty result (0,0) if device is null.
0x0056A590173CRenderSystem__get_display_modes_for_apiGets display modes for the specified API type. param_2=1 calls DX7 mode enumeration (stub_0056bdd0), param_2=2 calls DX9 mode enumeration (stub_0056dcf0). Returns empty vector for unknown types.
0x0056A64026CRenderSystem__get_api_name_stringReturns the string name for a render API type: 0="Default", 1="DirectX 7", 2="DirectX 9", -1="NotInitialized", default=""
0x0056A69014CRenderSystem__get_device_vtable_0x14Calls vtable offset 0x14 on the render device if it exists, returns 0 if device is null
0x0056A6A0227CRenderSystem__create_deviceCreates a render device. Returns 0x8000000e if already initialized. param_2=0 uses system default (DX7 or DX9), param_2=1 forces DX7 (CD3DDeviceDX7), param_2=2 forces DX9 (CD3DDeviceDX9). Returns 0x80070057 for invalid param. Calls vtable init after creation.
0x0056A79016CRenderSystem__is_device_readyCalls vtable offset 0x10 on the render device to check if it is ready. Returns false if device is null.
0x0056A7A017CRenderSystem__get_device_vtable_0x44Calls vtable offset 0x44 on the render device. Returns 0x8000000e if device is null (not initialized).
0x0056A7C024CRenderSystem__get_device_vtable_0x48Calls vtable offset 0x48 on the render device. Returns 0x8000000e if device is null (not initialized).
0x0056A7E0125CRenderSystem__save_device_guids_to_registrySaves render device GUIDs to the Windows registry under HKLM. Writes GUIDDEVICE, GUIDDRIVER, and DEVICENAME values to the registry key.
0x0056AF60127CRenderSystem__create_default_textureAllocates a new CTexture (300 bytes) and constructs it with the default device parameter. Stores result in param_1. Returns null if allocation fails.
0x0056B3A068CRenderSystem__destroy_render_item_stringWrapper that destroys a single string embedded in a render item. Simple SEH-protected call to STL_string_dtor.
0x0056B3F0172CRenderSystem__move_assign_com_shared_ptrMove-assigns a COM shared_ptr (2 fields: ptr + ref_count_block). Swaps ownership from param_2 to param_1, decrements old refcount, and releases if zero. Uses interlocked operations.
0x0056B5D05thunk_free_all_sprite_buffersThunk: iterates sprite array, frees allocated buffers and clears pointers
0x0056B8C0716CRenderSystem__enumerate_ddraw_display_adaptersEnumerates DirectDraw display adapters. Calls CDirectDraw__enumerate_devices if needed, then iterates valid devices building a vector of display mode items (0x68 stride) containing device name strings and GUID information.
0x0056BDD01213CRenderSystem__enumerate_dx7_display_modesEnumerates DirectX 7 display modes for a given device index. Filters modes to 640-1440 width range. Uses VerifyVersionInfoW to detect Windows 8+ and restricts to 32-bit color modes only on Win8+. On older OS, includes both 16-bit and 32-bit modes. Formats resolution strings as "WxHxBPP".
0x0056C2B0488CRenderSystem__initialize_d3d_deviceInitializes the D3D device. Enumerates DDraw adapters, checks for compatible devices (shows error MessageBox if none). Finds best matching adapter by comparing render effects, reads setup config (windowed mode flag, resolution), then calls CD3DDevice__startup. Returns HRESULT or 0x81000004 on no devices.
0x0056C4C012CRenderSystem__present_frameWrapper that calls CD3DDevice__present_frame to flip/present the back buffer to the screen.
0x0056C4D012CRenderSystem__release_object_via_vtableReleases an object by calling its vtable offset 8 (Release/destructor) with param=1 if the pointer is non-null.
0x0056D2F036CD3D9RefCounted__scalar_deleting_dtorScalar deleting destructor for CD3D9RefCounted (0x20 bytes). Sets vtable pointer, conditionally frees memory if bit 0 of param_2 is set.
0x0056D72026call_virtual_releaseCalls virtual method at offset 0 (destructor/release) on param_1 if non-null. Generic release helper for COM-like reference-counted objects.
0x0056E5D012COM_release_if_nonnullCalls COM Release (vtable+8) on param_1 if non-null. Used to release IDirect3D9Ex and similar COM interfaces.
0x0056E5E011CD3D9RefCounted__invoke_release_callbackInvokes the release callback at offset 0xc on the ref-counted object. Calls the first virtual method with parameter 0.
0x0056E5F01stub_ret_0056e5f0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0056E6001stub_ret_0056e600Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0056E6101stub_ret_0056e610Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0056EA60134FNV1a_hash_pair8FNV-1a hash of an 8-byte key. Hashes the first 4 bytes with FNV-1a, then combines with the hash of the second 4 bytes using boost-style hash_combine (golden ratio 0x9e3779b9).
0x0056EC60110phmap_hashmap__find_by_keyParallel hashmap find by key. Looks up a key pair in the hash table bucket at (hash & mask). Walks the bucket's linked list comparing both key fields. Returns iterator with node pointer or end sentinel.
0x0056ECD056_Fnv1a_append_value<>Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime.
0x0056ED1058FNV1a_hash_4bytesFNV-1a hash of 4 bytes. Starts with FNV offset basis 0x811C9DC5, XOR-folds each byte and multiplies by FNV prime 0x01000193.
0x0056EF30489CTileCache__insert_or_findInserts a new entry into a tile cache unordered_map. If key already exists, returns existing entry. Otherwise allocates a new node, copies key data, computes load factor, may rehash if needed, links into hash bucket chain, increments count. Returns iterator + bool (inserted).
0x0056F280376CTileCache__dtorDestructor for the tile cache object. Calls flush/clear, frees the pooled surface vector at +0x84, frees the tile list vector at +0x70, walks and frees all linked list nodes at +0x68, then destroys 25 node lists via _eh_vector_destructor_iterator_.
0x0056F410796CTileCache__acquire_tileAcquires a tile from the cache for a given texture dimension. Determines scale bucket based on width/height thresholds (0x21/0x41/0x81/0x101). Searches existing buckets for expired tiles to recycle, or creates a new bucket+surface if none available. Sets up tile UV coordinates, timestamps via timeGetTime, inserts into hash map, adjusts UV offsets by surface tile dimensions. Returns tile data struct via param_3.
0x0056F730115CTileCache__get_or_create_surfaceGets a pooled surface or creates a new one. For small textures (<=256x256), checks the free surface pool at +0x84/+0x88; if pool is empty, creates a new 256x256 surface. For larger textures, always creates a new surface at the requested dimensions.
0x0056F7B0117convert_rgba8888_to_rgb565Converts an array of RGBA8888 pixels to RGB565 (16-bit) format. For each pixel, extracts R/G/B channels, packs into 5-6-5 bit layout with a high bit flag. Pixels with R>=0xFE, B>=0xFE, and G>3 are treated as transparent (output 0x421 color key). Input: param_2=RGBA src, param_1=RGB565 dst, param_3=pixel count.
0x0056F830717CTileCache__create_bucketCreates a new tile bucket for a given size class. Allocates a 0x20-byte bucket node, links it into the bucket chain at the size index, obtains or creates a D3D surface, computes tile grid (rows x cols based on surface dimensions / tile size), resizes the tile vector, and initializes each tile's UV offsets and back-pointer to the surface. Returns pointer to the surface wrapper.
0x0056FB00171CTileCache__preallocate_surfacesPre-allocates a pool of surfaces for the tile cache. Calls flush and clear first, ensures pool vector capacity, then creates param_2 surfaces of 256x256. Each surface is initialized and pushed into the pool vector at +0x84/+0x88.
0x0056FBB0137CTileCache__find_cached_tileLooks up a cached tile by key in the unordered_map. If found, refreshes the tile's timestamp via timeGetTime and copies the tile data (40 bytes) into param_4. Returns the surface pointer if found, 0 otherwise.
0x0056FC4073CTileCache__release_all_pooled_surfacesReleases all pooled surfaces back. Iterates the surface pool vector at +0x84/+0x88, calls a cleanup function on each, then calls the virtual destructor (vfunc 0) with flag=1 to delete each surface object. Resets the pool end pointer to begin.
0x0056FC9075CTileCache__return_surface_to_poolReturns a surface to the pool or destroys it. If the surface is marked non-poolable (field[7]==0), calls its virtual destructor to delete it. Otherwise pushes it back into the pool vector at +0x84/+0x88 (with vector grow via stub_0056eb20 if at capacity).
0x0056FCE0129decode_rle_sprite_to_rgb565Decodes RLE-compressed sprite data to RGB565 output buffer. Reads compressed byte stream from param_1[+6], where byte==0 indicates a run of transparent pixels (next byte = run length). Non-zero bytes index into a palette (param_2) to produce 16-bit pixel values. Outputs row by row into param_3 with param_4 stride.
0x0056FD70240CTileCache__flush_all_bucketsFlushes all 25 tile cache buckets. For each bucket chain, walks the linked list, returning poolable surfaces to the pool or destroying non-poolable ones. Frees each bucket node (0x20 bytes) after deallocating its tile vector. Finally clears the unordered_map via stub_00570500.
0x0056FE60446CTileCache__evict_expired_tilesEvicts expired tiles from all 25 cache buckets. Gets current time via timeGetTime, checks each bucket's tiles against expiration threshold. For expired tiles, removes their entries from the unordered_map, returns or destroys surfaces, and frees bucket nodes. Non-expired buckets remain in the chain.
0x00570080623CTileCache__rehashRehashes the tile cache unordered_map to a new bucket count. Rounds up to next power of 2, allocates new bucket array (or fills existing if large enough), updates bucket count and mask, then re-inserts all existing nodes into new buckets based on rehashed keys. Handles bucket chain splicing for nodes that hash to the same bucket.
0x005702F01stub_ret_005702f0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x005703003identity_return_00570300Identity function - returns param_1 unchanged. 3 bytes (mov eax, ecx; ret).
0x0057040049memset_40byte_elementsZero-initializes param_2 elements of 0x28 (40) bytes each starting at param_1. Returns pointer past the last initialized element. Used to default-construct tile entries in the vector.
0x0057044056copy_40byte_elementsCopies an array of 0x28 (40) byte elements from [param_1, param_2) to destination at param_3. Copies each element as 10 dwords (40 bytes). Used during vector reallocation.
0x00570500142CTileCache__clear_hashmapClears the tile cache unordered_map. If non-empty, unlinks all nodes from the sentinel, frees each node (0x14 bytes), resets count to 0, and fills all bucket pointers with the sentinel value.
0x005705A0106CTileCache__free_bucket_chainFrees a linked list of bucket nodes starting at *param_1. For each node, deallocates the tile vector (40-byte elements) then frees the node itself (0x20 bytes). Sets *param_1 to 0 when done.
0x00570690140CTileCache__erase_by_keyErases an entry from the tile cache unordered_map by key. Computes hash, finds the node in the bucket chain, unlinks it from the doubly-linked list, updates bucket head/tail pointers, decrements count, frees the node (0x14 bytes). Returns 1 if found and erased, 0 otherwise.
0x00570970114clamp_rect_to_surfaceClamps a RECT (left, top, right, bottom in param_2) to the surface dimensions stored at param_3+0x18 (width) and param_3+0x1c (height). Each coordinate is clamped to [0, dimension]. Returns the clamped rect in param_1.
0x00570C7039get_pixel_bit_depth_from_d3d_formatMaps a D3D format enum to pixel bit depth. Format 0x15/0x16 (D3DFMT_X8R8G8B8/A8R8G8B8) returns 32 (0x20). Format 0x17-0x1a (R5G6B5, X1R5G5B5, A1R5G5B5, A4R4G4B4) returns 16 (0x10). Other formats return 0.
0x00570D7052convert_argb8888_to_argb1555Converts a single ARGB8888 pixel to ARGB1555 format. Extracts 5 bits each from R, G, B (bits 9-15 shifted), and 1 bit from A (bit 16). Returns packed 16-bit value: A1R5G5B5.
0x005722E0140CD3DTexture__ctorConstructor for CD3DTexture. Sets up SEH, initializes vtable to CD3DTexture (010dd69c then 010dc0e4 base), sets format to -1 (0xFFFFFFFF), pixel_mode=1, zeroes out all texture fields (D3D surface/texture pointers, dimensions, flags). Size = 0x124 bytes (base class only, without derived fields).
0x005723707CD3DTexture__set_base_vtableSets the vtable pointer to the CD3DBase base class vtable (010dc0e4). Called during destruction to revert to base class before cleanup.
0x0057238072CD3DTexture__dtor_baseBase destructor for CD3DTexture. Sets up SEH, reverts vtable from CD3DTexture to CD3DBase, then performs base class cleanup.
0x005723D0100CD3DTexture__scalar_deleting_dtorScalar deleting destructor for CD3DTexture (base class, 0x124 bytes). Sets vtable to CD3DTexture, reverts to CD3DBase, then optionally frees memory if param_2 bit 0 is set.
0x0057246021CD3DTexture__add_refIncrements the reference count (offset +0x1C) and updates the last-access timestamp (offset +0x20) via timeGetTime. Used by the texture cache to track active references.
0x0057248030CD3DTexture__set_filenameCopies the texture filename into the internal buffer at offset +0x24 (max 0x100 chars) using strncpy_s.
0x005724A049CD3DTexture__clamp_dimensions_to_power_of_twoClamps the given width and height down to the maximum supported texture dimensions (fields +0xC and +0x10) by halving until they fit. Stores the clamped values at offsets +0x14 (width) and +0x18 (height).
0x005724E08CD3DTexture__release_refDecrements the reference count (offset +0x1C) by 1.
0x005724F014CD3DTexture__update_timestampUpdates the last-access timestamp (offset +0x20) to the current time via timeGetTime. Does not change the reference count.
0x00572D3023CD3DTexture__set_position_scaledSets the texture's position by calling vtable[0x3C] with x, y coordinates and the format value (field +4). Used for positioning textures that need scale-aware placement.
0x0057317052convert_argb8888_to_argb4444Converts a 32-bit ARGB8888 pixel to 16-bit ARGB4444 format by extracting 4 bits per channel.
0x005731B039convert_argb8888_to_rgb565Converts a 32-bit ARGB8888 pixel to 16-bit RGB565 format (5 red, 6 green, 5 blue bits).
0x00576660103CModeMgr__ctorCModeMgr constructor. Initializes CHashMap for mode storage, sets vtable to CModeMgr observer vtable, and calls CModeMgr__register_all_mode_factories to register all game mode factories.
0x005772C0201CHashMap__clear_and_freeCHashMap destructor helper. Iterates all buckets, frees each 0x10-byte entry, frees the bucket array (with large-alloc header handling), then frees the 8-byte sentinel node. Resets all fields to zero.
0x00577400116CModeMgr__dtorCModeMgr destructor. Sets vtable to CModeMgr observer vtable, iterates all registered mode factories and destroys them via virtual dtor at vfunc+8, then calls CHashMap__destructor to free the hash map.
0x00577490215CHashMap__clear_string_entriesClears all entries from a CHashMap with string keys. If load factor is low, uses erase_range; otherwise walks all nodes, destroys each string, frees 0x24-byte nodes, resets sentinel and count, and fills bucket array with sentinel pointers.
0x0057759095CHashMap__hash_string_fnv1aComputes a hash for a string key using FNV-1a (seed 0x811c9dc5, prime 0x1000193), then applies a Park-Miller LCG transformation (multiplier 0x41a7, modulus 0x7fffffff) to produce a positive 31-bit hash value.
0x00577DD0212CModeMgr__dtor_observer_type0Destructor for mode observer type 0; sets vtable PTR_010dd7e0, iterates linked list calling destructors on each child, deletes critical section, frees list nodes, clears hashmap, resets vtable to purecall. Optionally deletes self (0x40 bytes) if param_2 & 1.
0x00577EB0212CModeMgr__dtor_observer_type1_00577eb0Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd7c0
0x00577F90212CModeMgr__dtor_observer_type2_00577f90Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd7d0
0x00578070212CModeMgr__dtor_observer_type3_00578070Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd800
0x00578150212CModeMgr__dtor_observer_type4_00578150Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd810
0x00578230137CModeMgr__dtor_base_observer_00578230Destructor for base mode observer; iterates list, calls base dtor
0x00578F306016CModeMgr__register_all_mode_factoriesRegisters all game mode object pool factories in CModeMgr. Called from CModeMgr::ctor. Initializes linked lists, critical sections, and inserts CEffectResourceEntry variants into an unordered_map keyed by string name. Each factory entry associates a mode name with its object pool allocator and constructor.
0x0057A6C040CModeMgr__destroy_all_registered_observersIterates list and calls destructor on each registered observer
0x0057BB2023CBuffer__advance_read_posAdvances read position
0x0057BB4010CBuffer__is_read_completeReturns true if all data consumed
0x0057C70081CCompression__compress_to_vectorCompresses data to vector
0x0057C76052CCompression__compress_to_bufferCompresses data to buffer
0x0057C7A0143CCompression__decompress_to_vectorDecompresses data to vector
0x0057C83062CCompression__decompress_to_bufferDecompresses data to buffer
0x0057C87033CCompression__decompress_lz4_rawRaw LZ4 decompression wrapper. Calls LZ4_decompress_fast, returns decompressed size or -1 on error. Previously misnamed as compress_raw.
0x0057C8A048CCompression__decompress_zlib_rawRaw zlib decompression wrapper. Calls zlib_uncompress, returns decompressed size or -1 on error.
0x0057D4E0453CCircle__generate_8way_symmetric_pointsGenerates 8 symmetric Bresenham circle points
0x0057D6B0445CCircle__compute_circle_cellsComputes circle cells via Bresenham
0x0057D87044copy_pair8_rangeCopy pair8 range, small utility function
0x0057D8A045relocate_pair8_rangeRelocates 8-byte pairs from [src_begin, src_end) to dest during vector reallocation. Uses offset-based copy.
0x0057D8E062phmap__deallocate_alignedphmap::container_internal::Deallocate<8> - frees aligned memory for phmap hash map entries. Handles large allocation alignment (>4KB stores original pointer at offset -4).
0x0057D92014CSimpleAssign__set_valueSimple value assignment
0x0057D93075CBigInteger__set_from_int32Sets bigint from int32
0x0057D980117CBigInteger__set_from_int128Sets bigint from 4 words
0x0057DA0036operator<<<char,struct_std::char_traits<char>,__int64>Stream insertion operator for _Smanip<__int64>. Applies a stream manipulator function with an int64 argument.
0x0057DAF0129CBigInteger__multiply_by_uint32Multiplies bigint by uint32
0x0057DB80129CBigInteger__realloc_digitsReallocates bigint digit buffer
0x0057DC1023safe_free_if_differentFrees if not static buffer
0x0057DF0028CBigInteger__is_zeroReturns true if bigint is zero
0x0057DF208identity_byte_passthroughReturns input byte unchanged
0x0057DF30182CString__multibyte_to_wideConverts multibyte to wchar_t*
0x0057DFF0100memcmp_rangeCompares two byte ranges
0x0057E060225_Traits_find<struct_std::char_traits<char>_>STL char_traits find. Searches for a character or substring in a character range.
0x0057E160103CBigInteger__append_bytesAppends bytes to bigint buffer
0x0057E1D0106CBigInteger__append_wordsAppends words to bigint buffer
0x0057E240829CBigInteger__format_decimal_stringFormats bigint as decimal
0x0057E58029CRandom__next_fixed_point_10pctPRNG ~10% probability
0x0057E5A029CRandom__next_fixed_point_1pctPRNG ~1% probability
0x0057E6008identity_int_passthroughReturns input int unchanged
0x0057E6108identity_int_passthrough_0057e610Returns input int unchanged
0x00580C30687CBigInteger__multiply_by_uint128Multiplies bigint by 128-bit
0x0058A110174CBigInteger__shift_leftBigInteger left shift by N bits. Shifts all 32-bit digits left, propagating carry between words. Handles shift amount modulo 32 per word plus whole-word shifts. Appends overflow word if non-zero. Part of CBigInteger arithmetic.
0x0058A4D071count_mbcs_charsCounts the number of multibyte characters in a string using CharNextExA for the given codepage. Iterates from param_2 up to param_3 (or end of string if param_3 is null), incrementing count for each character advance. Returns 0 if param_2 is null.
0x0058A52071count_utf8_charsCounts the number of UTF-8 characters in a byte buffer. Skips continuation bytes (bytes with high bits 10xxxxxx) so only start bytes are counted. Iterates from param_1 to param_2 (or end of string). Returns 0 if param_1 is null.
0x0058A57076get_mbcs_byte_lengthReturns the byte length of a multibyte string using CharNextExA for the given codepage. Iterates from param_2 up to param_3 (or end of string), then returns the difference between the final position and the start. Returns 0 if param_2 is null.
0x0058A5C036skip_first_utf8_charAdvances past the first UTF-8 character in a byte buffer. Reads the first byte, then skips subsequent continuation bytes (0x80-0xBF). Returns nothing (void) -- the caller uses the pointer position. Returns immediately if null or empty string.
0x0058A5F034utf8_prev_charMoves backward to the start of the previous UTF-8 character. Starting from param_2, decrements the pointer while the byte is a continuation byte (0x80-0xBF), stopping at the start byte. param_1 is the lower boundary. Returns nothing.
0x0058A990339convert_multibyte_to_widecharConverts a multibyte string to wide characters using MultiByteToWideChar. Manages a growable wide-char buffer (small buffer optimization at 0x80 WCHARs). Handles ERROR_INSUFFICIENT_BUFFER by re-querying required size and reallocating. Throws HRESULT on failure.
0x0058AAF035is_string_null_or_emptyReturns 1 (true) if the string is null or empty (length 0). Returns 0 (false) if the string has any characters. Simple null/empty check utility.
0x0058AB20262validate_utf8Validates that a byte buffer contains valid UTF-8. Checks each character's leading byte to determine expected length (1-4 bytes), verifies continuation bytes have correct 10xxxxxx pattern, validates codepoint ranges (no surrogates, no overlong encodings, max U+10FFFF). Returns 1 if valid, 0 if invalid.
0x0058C2F0380CBigInteger__compare_sumCompares (a + b) against c for big integers. Used in Grisu float-to-decimal digit generation. Returns -1 if a+b < c, 0 if equal, 1 if a+b > c. Compares digit-by-digit from MSB to LSB, handling carries from addition.
0x0058C470158CBigInteger__add_exponentAdds a value to the big integer exponent field. Throws a "number is too big" error if the addition would overflow past 0x7fffffff. Used during bignum arithmetic for float formatting.
0x0058C540279CBigInteger__assign_pow5Assigns 5^n to a big integer, then left-shifts it. Computes the power by repeated squaring and multiplication by 5. Uses CBigInteger__shift_left at the end. Core helper for Grisu float-to-decimal conversion.
0x0058C840158CBigInteger__compareCompares two big integers. First compares total magnitude (exponent + digit count). If equal, compares digits from MSB to LSB. Returns -1 if a < b, 0 if equal, 1 if a > b. Used in Grisu digit generation.
0x0058C8E0105CBigInteger__fixed_point_multiplyFixed-point multiplication for big integer. Multiplies a 64-bit value by a uint, shifts right, and returns the result with a rounding flag. Used in float-to-decimal conversion arithmetic.
0x0058C950187CBigInteger__multiply_and_roundMultiplies a 128-bit value by a big integer's mantissa, shifts the result, and returns a rounded value with flags. Part of the Grisu float-to-decimal conversion pipeline.
0x0058CD10423CBigInteger__divideBig integer division: repeatedly subtracts divisor from this, counting iterations. Returns the quotient (number of times divisor was subtracted). Handles exponent alignment by shifting digits. Used in Grisu digit generation loop.
0x0058FE4084pbackfailStream buffer pbackfail virtual. Called when putback of a character fails.
0x00591EB0126CEmotionShop__send_emotion_commandSends an emotion/action command to the server. If param_3 matches stored values at offset+4 or +8, randomizes the emotion ID (mod 6 or mod 7) and adds it to the base. Calls a virtual function with command 0x1f. Returns 1 on success, 0 if params are negative or global pointer is null.
0x00591F30117CEmotionShop__select_entity_at_coordsLooks up an entity at the given (x,y) coordinates via CFmt__func_00599d70. If found, either dispatches a command to a tab child window (if DAT_01457a00 set) or passes the entity to a UI controller via virtual calls. Returns 1 on success, 0 if coords are invalid or entity not found.
0x00591FB0266CEmotionShop__open_and_select_itemOpens the emotion shop window (type 0x57) and selects an item. If the shop window already exists, selects the item directly. Validates sale time: checks if current server time is within the sale period, showing error messages for expired or not-yet-started sales (EMSG_NOT_YET_SALE_START_TIME, EMSG_EMOTION_EXPANTION_FAIL_DATE).
0x00592290165CSortableListItem__ctorConstructor for a sortable list item. Copy-constructs a string (at offset 0), initializes a vector of int pairs (at offset 0x18-0x20), and optionally pushes the first pair if both values are non-negative.
0x005923D067CSortableListItem__push_back_pairPushes a pair of ints to the sortable list item's vector (at offset 0x18). If both values are non-negative, appends directly or triggers reallocation if at capacity.
0x0059242067CSortableListItem__get_pair_at_indexGets a pair of ints from the vector at the given index. Returns the pair via param_2 output pointer. If index is out of bounds or negative, sets both values to -1 (0xFFFFFFFF).
0x00592520162CListViewColumn__ctorConstructor for a list view column definition. Stores two ID values (param_2, param_3), copy-constructs a string (column name from param_4), and stores 4 additional parameters (width, alignment, etc.).
0x005925D0145CHashMapNode__move_ctorMove constructor for a hash map node. Copies 16 bytes of header data, move-constructs an embedded string (zeroing source), and copies two additional fields from separate pointers to offsets 0x18 and 0x1C.
0x00592670219CListViewSortEntry__ctorConstructor for a list view sort entry. Stores a key value, copy-constructs a string (from param_9), and copies multiple fields including coordinates, flags, and a boolean field at offset 0x2C. Used for sortable list view columns with display text.
0x00592750203CListViewSortState__ctorConstructor for a list view sort state. Stores key/value pair from param_3/param_4, allocates a 0x3C-byte sentinel node for a linked list (self-referencing next/prev), initializes an empty vector, resizes it, and copies additional data from the source structure.
0x00592820204CListView__compare_items_by_columnCompares two list view items by a sort column. Looks up display strings for both items via _Find_last (hash lookup), then compares them case-insensitively with _stricmp. The sort direction (ascending/descending) is determined by a flag at param_1[1]. Returns true if item1 should come before item2.
0x00592F9056_Fnv1a_append_value<>Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime.
0x00593410495CListView__sort_select_pivotPivot selection for list view sorting (introsort). For small arrays (<41 elements), uses median-of-3 with comparison swaps. For larger arrays, uses ninther (median of 3 medians) by sampling 9 evenly-spaced elements and arranging them to find a good pivot. Uses CListView__compare_items_by_column for comparisons.
0x00593640487CListView__insertion_sortInsertion sort for list view items. Iterates from second element to end, for each element finds its correct position by comparing with preceding elements using string-based hash map lookups and _stricmp, then shifts elements to insert. Used for small partitions in introsort.
0x00593830574CListView__make_heapBuilds a max-heap for list view sorting. Bottom-up heap construction: starts from last non-leaf node and sifts down each element. Comparison uses hash map string lookups and _stricmp. Part of the heapsort fallback in the introsort algorithm.
0x00593AE01744CListView__partitionQuicksort partition for list view sorting. Selects pivot via CListView__sort_select_pivot (ninther/median-of-3), then partitions the array into elements less than, equal to, and greater than the pivot. Comparison uses hash map string lookups and _stricmp. Returns the partition boundaries via param_1 output.
0x005941B0541CListView__heap_sift_downSift-down operation for heap sort in list view sorting. Moves an element down the heap to maintain the heap property. Compares children using hash map string lookups and _stricmp, swapping with the larger child. After reaching a leaf, sifts back up if needed.
0x005943D0234CListView__introsortIntrosort implementation for list view column sorting. Combines quicksort (with partition), heapsort (fallback when recursion depth exceeded), and insertion sort (for small partitions <=32 elements). Recursion depth limit is 3/4 of log2(N). The main sorting entry point for CListView.
0x00596430970CHashTable__ctorCHashTable constructor. Initializes a large hash table object containing multiple unordered_maps with different node sizes (0x40, 0x24, 0x18, 0x28, 0x10). Sets vtable pointer, initializes ~12 sub-maps, sets default values (max 0x1afd = 6909, offset -1).
0x00596B7033CHashTable__release_interfaceReleases a COM-like interface object stored at this+0x24. Calls virtual function at vtable+0x10 (Release) with a non-zero flag, then nulls the pointer.
0x0059A630388CEmotionMgr__find_and_classify_item_by_nameSearches linked list at +0x74 for items matching a name string. Classifies matches by checking current item ID at +0xC and presence in vector at +0x1A4. Calls add_unique_pair_to_vector with classification result.
0x0059A7C087CEmotionMgr__add_unique_pair_to_vectorAdds a pair (two ints) to a vector if the pair doesn't already exist. Linear search for duplicates, reallocates via STL_vector_int_pair_reallocate_emplace if at capacity.
0x0059A820918CEmotionMgr__filter_and_sort_items_by_nameFilters item list by name substring match (strstr), partitions into matched/unmatched groups, sorts each group via CListView__introsort, returns combined result vector. If name is null, copies all and sorts.
0x0059ABC0127CEmotionMgr__init_sort_callbackInitializes sort callback with vtable PTR_STL_hash_iterator_ctor_0059df60, then calls sort operation on hash map at +0xF4/+0xD4.
0x0059AC4074CEmotionMgr__get_item_name_by_idLooks up item by ID in hash map. Returns pointer to name string (SSO or heap) if found, NULL if ID matches sentinel at +0xD8.
0x0059AC9075get_timezone_offset_minutesStandalone function. Calls GetTimeZoneInformation and returns negated Bias (i.e., UTC offset in minutes). Returns 0 on failure.
0x0059ACE094CEmotionMgr__filter_and_sort_items_wrapperWrapper that calls filter_and_sort_items_by_name on the item list at +0x1B8, storing result in output param.
0x0059AD4063CEmotionMgr__get_item_price_by_idLooks up item by ID in hash map at +0x14. Returns field at offset +0x30 of the map node (price/cost value), or 0 if not found.
0x0059AD801429CEmotionMgr__register_lua_functions_and_load_dataRegisters Lua API functions for the emotion/cash emotion system: c_InsertPackInfo, c_InsertEmotionEnum, c_InsertEmotionListTable, c_InsertEmotionMsgListTable, c_InsertEmotionMsgListTableForCustom. Loads CashEmotion Lua data files and calls getEmotionClientSetting. Creates locale facet object at +0x8.
0x0059B320800CEmoteMgr__get_emote_effect_idResolves emote type to effect ID
0x0059B660385CEmotionMgr__lookup_effect_id_by_nameLooks up effect ID by string name in hash map at +0x118 using FNV-1a hash. Caches result in an unordered_map keyed by the param_2 value. Returns -1 if name is null/empty or not found.
0x0059B7F034CEmotionMgr__insert_string_key_float_valueThin wrapper: inserts a string key with float value into an unordered_map.
0x0059B820207CEmotionMgr__find_or_create_sortable_list_itemLooks up item by string key in unordered_map at +0x15C. If found, pushes a pair. If not found, creates a new CSortableListItem (0x24 bytes) and inserts it into the map.
0x0059B8F0557CEmotionMgr__register_item_with_sort_stateRegisters an emotion item with sort state. Calls sort operations on +0xB0/+0x90 and +0xF4/+0xD4 maps, looks up item node, creates a new sort state struct (0x3C bytes) with default values if not found, then emplaces into unordered sets and sort state map.
0x0059BB20266CEmotionMgr__emplace_string_key_pairBuilds an std::string from param_3 (C string), then emplaces it as a key with two values (param_1, param_2) into an unordered_map. No-op if string is null or empty.
0x0059BC30662CEmotionMgr__register_item_with_formatted_nameLooks up item by ID, gets its name, formats it as 'name - category' via format_string_vsnprintf, then calls register_item_with_sort_state and find_or_create_sortable_list_item. Also emplaces the formatted string and substring into maps.
0x0059BED0334CEmotionMgr__add_item_to_category_setAdds an item ID to a category set. If category doesn't exist in hash map at +0x54, creates a new entry with a vector containing the item. If exists, appends to the vector (only if not already present).
0x0059C020117CEmotionMgr__emplace_sort_entry_and_track_idEmplaces a sort entry with multiple fields into an unordered_map. If insertion succeeds (new key), also appends the item ID to the tracked ID vector at +0x19C.
0x0059C0A0469CEmotionMgr__add_or_update_item_timerManages item timer lifecycle. If item ID > 0: adds to active list at +0x1A4 (removing from +0x1B8 if present), removes from expired list. Manages linked list of timer nodes at +0x1B0: if timer=0, removes node; if nonzero, updates or creates timer node.
0x0059C280240CEmotionMgr__register_item_by_callbackCalls a callback (virtual function at vtable+8) to get an item ID, then inserts it into a hash map. If insertion succeeds, also maps the item's string to a reverse-lookup map. Returns item ID or -1 on failure.
0x0059C38032CEmotionMgr__emplace_string_value_pairThin wrapper: emplaces a string value pair into an unordered_map.
0x0059C3A0110CEmotionMgr__is_chat_prohibit_emoteChecks if a given emote ID matches the 'chat prohibit' emote. Looks up emote type 0 in hash map at +0x13C; if not cached, calls get_emote_effect_id(0). Returns true if the param matches the chat prohibit effect ID.
0x0059C410118CEmotionMgr__check_item_time_validityChecks if an item's time window is currently valid. Looks up item by ID, reads start/end timestamps at +0x1C and +0x20. Returns true if current adjusted time falls within [start, end) range, or if both are zero.
0x0059C49042CEmotionMgr__is_item_in_active_listReturns true if item ID exists in the active item vector at +0x1A4/+0x1A8. Linear search.
0x0059C4C042CEmotionMgr__is_item_in_expired_listReturns true if item ID exists in the expired item vector at +0x1B8/+0x1BC. Linear search.
0x0059C4F0140CEmotionMgr__evaluate_item_via_callbackLooks up item by string key (FNV-1a hash) in map at +0x74. If found and callback at +0x8 is set, calls the callback's virtual method with two dwords from the node at +0x20. Returns callback result or 0.
0x0059C58024CEmotionMgr__invoke_callback_no_argsInvokes the callback's virtual method (vtable+4) with no arguments if callback pointer at +0x8 is non-null. Returns result or 0.
0x0059C5A0387CEmotionMgr__process_expired_timersIterates timer linked list at +0x1B0. For each timer: checks if time has elapsed (time() - offset - serverDelta). If expired, moves item from active (+0x1A4) to expired (+0x1B8) list and removes timer node. If not expired, calls EmotionShopWnd__update_emotion_item_mode. Returns 1 if any expired.
0x0059C730298CEmotionMgr__move_item_to_expired_listMoves an emotion item from active list (+0x1A4) to expired list (+0x1B8). Optionally updates EmotionShopWnd grid and removes timer node from linked list at +0x1B0.
0x0059C8601268CEmotionMgr__build_visible_item_listBuilds list of currently visible emotion items. Checks time validity via FNV-1a hash lookups and time window comparisons. Returns a struct with: changed flag (byte), next expiry time (uint), and updated expired item vector at +0x1B8. Tracks minimum upcoming deadline for timer scheduling.
0x0059CD60117CEmotionMgr__register_lua_closureRegisters a Lua C closure: pushes the function via lua_api_pushcclosure, then sets it as a global field with ID 0xFFFFD8EE via lua_api_setfield. Destroys the temporary string name after registration.
0x0059CDE031CEmotionMgr__set_server_time_offsetStores server time offset at +0x1D0 as difference between local time() and provided server timestamp.
0x0059CE00136CEmotionMgr__apply_timezone_to_item_timersApplies timezone correction to emotion item timers. Computes delta between server timezone (param_2 in minutes) and local timezone bias. Stores offset in seconds at +0x1D4. Adjusts deadline fields [0xe]->a and [0xf]->b in linked list at +0x14.
0x0059CE9041show_messagebox_with_stringsDisplays MessageBoxA with std::string title and text
0x0059CEC0379show_localized_messageboxLooks up localized string by ID, formats with parameters, shows in MessageBoxA
0x0059D05051CEmotionMgr__sort_item_id_listWrapper that sorts an item ID vector using CListView__introsort with a comparison callback.
0x0059D09068CEmotionMgr__start_item_by_idStarts an emotion item by ID: calls add_or_update_item_timer, sets current item at +0x1C4 to -1, then refreshes EmotionShopWnd displays (clear grids, refresh purchase state, register refresh timer) if the shop window is active.
0x0059D0E0225CEmotionMgr__format_localtime_as_stringConverts a time_t value to a local time ASCII string via _localtime32_s + asctime_s. Returns empty string on failure.
0x0059D1D0225CEmotionMgr__format_utctime_as_stringConverts a time_t value to a UTC ASCII string via _gmtime32_s + asctime_s. Returns empty string on failure.
0x0059D2C0369CEmotionMgr__expire_completed_item_timersIterates timer linked list at +0x1B0, checks each timer via CTime__is_in_past. Expired items: moved from active (+0x1A4) to expired (+0x1B8) list, timer node removed. Active items: calls EmotionShopWnd__update_emotion_item_mode. Calls update_grid_search_state after. Returns 1 if any timers remain.
0x0059D440336CEmotionMgr__add_or_remove_item_timerManages timer nodes in linked list at +0x1B0. Finds node by item ID. If found and timer=0, removes node. If found and timer!=0, updates the time. If not found and timer!=0, creates new 0x10-byte node and inserts at list tail.
0x0059D5A051CEmotionMgr__subtract_offset_from_item_deadlinesSubtracts a time offset from emotion item deadline fields. For each node in linked list at +0x14: if field[0xe] is non-zero, field[0xa] = field[0xe] - offset; same for field[0xf] -> field[0xb].
0x0059F1001stub_ret_0059f100Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0059F2A0132_Rehash_for_1Rehashes an unordered container to ensure at least one bucket is available for insertion.
0x0059FC5028CQuestManager__get_elapsed_server_timeReturns elapsed server time
0x005A10B094CUIFrameBase__ctorConstructor for CUIFrameBase, sets vtable
0x005A1180110CUIFrameBase__dtorDestructor for CUIFrameBase
0x005A11F0134CUIFrameBase__scalar_dtorScalar deleting destructor for CUIFrameBase
0x005A12809wrapper_CEntity__set_sexThin wrapper that calls CEntity__set_sex()
0x005A12C023init_pair_zeroInitializes pair to {0, 0}
0x005A12F0185CUINavigator__call_GetNpcLocationRadiusCalls CEntity__get_effective_job_id(), then invokes Lua function "GetNpcLocationRadius" via lua_call_function. Returns 0.
0x005A13E0333CUIFrameBase__process_navigation_updateUpdates navigation path
0x005A1530163CUIFrameBase__dispatch_messageMessage dispatcher with jump table for IDs 3-0x7C
0x005A196016CUIFrameBase__set_field_2e8Sets field at +0x2E8
0x005A19E016CUIFrameBase__set_flag_2ccSets byte flag at +0x2CC
0x005A1B70211CUINavigator__ctorConstructor for CUINavigator
0x005A1D20108CUINavMapInfo__dtorDestructor for CUINavMapInfo
0x005A1D9087destroy_two_stringsDestroys two consecutive std::string objects
0x005A1DF0231CUINavigator__dtorDestructor for CUINavigator
0x005A1EE030trivial_scalar_dtor_4byteTrivial scalar deleting destructor for 4-byte object
0x005A1F00133CUINavMapInfo__scalar_dtorScalar deleting destructor for CUINavMapInfo
0x005A1F90255CUINavigator__scalar_dtorScalar deleting destructor for CUINavigator
0x005A213015wrapper_string_dtor_005a2130Thin wrapper calling std::string destructor
0x005A217030init_vector_emptyInitializes std::vector to empty state
0x005A21A027CUINavigator__start_navigationStarts navigation mode
0x005A21D0266CUINavigator__set_map_texturesSets map and minimap texture paths
0x005A252023CUINavigator__stop_navigationStops active navigation
0x005A2630170get_or_create_nav_map_info_singletonGets or creates CUINavMapInfo singleton
0x005A2E50146CUIWorldMap__ctorConstructor for CUIWorldMap
0x005A2F40102destroy_vector_and_linked_listDestroys vector and linked list
0x005A3040116destroy_optional_0x18_nodeDestroys optional 0x18-byte node
0x005A30C073destroy_linked_list_0x18_sentinelDestroys linked list including sentinel
0x005A311068wrapper_destroy_pair_005a3110Wrapper calling pair destructor
0x005A31F095CUIWorldMap__dtorDestructor for CUIWorldMap
0x005A32E0119CUIWorldMap__scalar_dtorScalar deleting destructor for CUIWorldMap
0x005A38E0303generate_random_direction_vectorGenerates random 2D direction vector
0x005A3A10595get_or_create_direction_tableGets or creates direction table in hash map
0x005A3E5063CUIWorldMap__reset_timer_and_refreshResets frame counter, stores timestamp, calls refresh
0x005A3E90119CUIWorldMap__check_elapsed_timeoutChecks if elapsed time exceeds timeout
0x005A3F10237CUIWorldMap__update_particle_listUpdates particle list, removes expired particles
0x005A400045reset_scene_if_validResets scene if param is non-null
0x005A403044CUIWorldMap__render_all_particlesRenders all particles via virtual function
0x005A406043submit_particle_to_render_queueSubmits particle to renderer draw queue
0x005A4680217query_high_resolution_timer_nsReturns nanosecond timestamp via QueryPerformanceCounter
0x005A4B001452spawn_trail_particles_between_positionsSpawns trail particles along line between two 3D positions
0x005A5AC0594spawn_distance_based_effectSpawns effect based on distance between two entities
0x005A5D50142classify_distance_rangeClassifies float distance into range buckets 0-3
0x005A5E1021is_render_mode_deferredReturns true if render mode is deferred (mode == 2)
0x005A5E3021is_render_mode_forwardReturns true if render mode is forward (mode == 1)
0x005A5E9014is_valid_direction_indexReturns true if direction index is valid (0-3)
0x005A5EC068trigger_fatal_error_if_nonzeroTriggers fatal error via CADD60 if param_2 is nonzero
0x005A5F3015wrapper_load_effect_EWrapper calling load_encrypted_effect_resource_E
0x005A5FB042trigger_effect_callback_if_validCalls effect callback if param_2 entity is valid
0x005A647015wrapper_entity_death_effectWrapper calling entity_death_spawn_effect
0x005A6510555entity_death_spawn_effectSpawns death effect: checks main entity, decrypts resource, loads effect
0x005A674070entity_death_visibility_toggleToggles entity visibility on death
0x005A67A0514apply_effect_with_encrypted_resource_IChecks applicability, decrypts 0xB-byte resource, loads effect
0x005A69D042trigger_effect_callback_005a69d0Calls effect callback CAE0F0 if entity is non-null
0x005A6C0034create_message_color_pair_yellowCreates message+color pair: retrieves message string at index 0x123C and pairs it with yellow color (0xFFFF00)
0x005A6C3034create_message_color_pair_blueCreates message+color pair: retrieves message string at index 0x123D and pairs it with blue color (0x0000FF)
0x005A6C70609apply_directional_effect_with_distanceApplies directional effect with distance-based flip
0x005A6F0042trigger_effect_callback_005a6f00Calls effect callback CAE0F0 if entity is non-null
0x005A6F30581apply_aimed_effect_with_distanceApplies aimed effect, sets rotation to facing angle
0x005A718018wrapper_load_effect_BWrapper calling load_encrypted_effect_resource_B
0x005A71C042trigger_effect_callback_005a71c0Calls effect callback CAE0F0 if entity is non-null
0x005A8A7F1stub_ret_005a8a7fSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x005A8A9C1nop_return_voidSingle-byte NOP stub (no operation, returns immediately)
0x005A8C0A1nop_return_void_005a8c0aSingle-byte NOP stub (no operation, returns immediately)
0x005A8CA41bad_instruction_data_005a8ca4Invalid/misaligned code fragment - likely data misidentified as a call target
0x005A8D7A1nop_return_void_005a8d7aSingle-byte NOP stub (no operation, returns immediately)
0x005A8E221bad_instruction_data_005a8e22Invalid/misaligned code fragment - likely data misidentified as a call target
0x005A8F0A1nop_return_void_005a8f0aSingle-byte NOP stub (no operation, returns immediately)
0x005A8FA81nop_return_void_005a8fa8Single-byte NOP stub (no operation, returns immediately)
0x005AC73A1nop_return_void_005ac73aSingle-byte NOP stub (no operation, returns immediately)
0x005AC7E21nop_return_void_005ac7e2Single-byte NOP stub (no operation, returns immediately)
0x005AC89E1nop_return_void_005ac89eSingle-byte NOP stub (no operation, returns immediately)
0x005AC8BB1nop_return_void_005ac8bbSingle-byte NOP stub (no operation, returns immediately)
0x005B2C1B1nop_return_void_005b2c1bSingle-byte NOP stub (no operation, returns immediately)
0x005B2CBC1nop_return_void_005b2cbcSingle-byte NOP stub (no operation, returns immediately)
0x005B2D6C1vtable_dispatch_indirect_callVtable dispatch indirect call
0x005B2D9D1nop_return_void_005b2d9dSingle-byte NOP stub (no operation, returns immediately)
0x005B2DBA1nop_return_void_005b2dbaSingle-byte NOP stub (no operation, returns immediately)
0x005B2E5A1nop_return_void_005b2e5aSingle-byte NOP stub (no operation, returns immediately)
0x005B527042CUINavMap__conditional_cleanup_callbackCalls cleanup function if param_2 is nonzero; guard for conditional resource release
0x005B52A01535CUINavMap__decrypt_and_spawn_nav_effectsDecrypts obfuscated effect names via xor_decrypt_buffer, spawns two navigation effects based on param_3 threshold
0x005B58C042CUINavMap__conditional_create_skill_effectCalls create_skill_effect_wrapper_a if param_2 is nonzero; conditional effect creation callback
0x005B58F034CUINavMap__create_effect_entry_yellowCreates effect entry with ID 0x1238 and yellow color (0xFFFF00)
0x005B592034CUINavMap__create_effect_entry_blueCreates effect entry with ID 0x1239 and blue color (0xFF)
0x005B5950900CUINavMap__decrypt_and_spawn_marker_effectsDecrypts two marker effect names via xor_decrypt_buffer and spawns them on nav map object at offset +0x110
0x005B5CE0803CUINavMap__decrypt_and_remove_marker_effectsDecrypts two sprite/effect resource names via xor_decrypt_buffer and REMOVES them from nav map object at offset +0x110 using CEffectManager__remove_effect_by_id_and_type
0x005B601031CUINavMap__dispatch_vtable_call_if_validDispatches first vtable method on param_1 with given params if param_6 is nonzero
0x005B6330725CUINavMap__remove_all_markers_by_typeRemoves all nav markers of types 0x9A2 and 0x98C, then loops removing markers by decrypted name until none remain
0x005B698067CUINavMap__free_tree_node_0x20Frees 0x20-byte tree node at param_1+4 if non-null
0x005B69D078CUINavMap__free_tree_node_0x20_v2Frees 0x20-byte tree node at param_1+4 if non-null; same pattern as 005b6980
0x005B6A2078CUINavMap__free_tree_node_0x20_v3Frees 0x20-byte tree node at param_1+4 if non-null; same pattern as 005b6980
0x005B6A70346CUINavMap__insert_timer_nodeInserts a 0x20-byte timer node into BST keyed by 0x98C type; stores 8-byte timer value, chains to existing handler
0x005B6BD0295CUINavMap__update_rotation_from_timerUpdates nav map rotation using high-res timer; calculates angle via MulDiv over period at +0x11CA8, stores as float
0x005B6D0079CUINavMap__set_rotation_deadlineSets rotation deadline at +0x11CB0 by adding param_1 milliseconds (as microseconds) to current high-res timer
0x005B6D5016CUINavMap__set_rotation_periodStores rotation period value at this+0x11CA8
0x005B6F7015CSVParser__is_empty_005b6f70Returns true if field at offset +0x24 is zero (no data loaded)
0x005B6F8015CSVParser__is_empty_005b6f80Returns true if field at offset +0x24 is zero; identical to 005b6f70
0x005B6F9034copy_range_to_dest_005b6f90Copies memory from param_1 to param_2 into param_3; returns dest end pointer
0x005B6FC034copy_range_to_dest_005b6fc0Copies memory from param_1 to param_2 into param_3; returns dest end pointer. Identical to 005b6f90
0x005B768033CSVParser__release_vtable_ref_005b7680Releases object at this[9] via vtable call at vptr+0x10, then nulls the reference
0x005B76B033CSVParser__release_vtable_ref_005b76b0Releases object at this[9] via vtable call at vptr+0x10, then nulls the reference; same as 005b7680
0x005B76E092CSVParser__release_vtable_ref_005b76e0Releases object at this[9] via vtable+0x10 with security cookie; same pattern as 005b7680
0x005B774092CSVParser__release_vtable_ref_005b7740Releases object at this[9] via vtable+0x10 with security cookie; same pattern as 005b76e0
0x005B783092CSVParser__invoke_and_clear_callbackInvokes callback at +0x20 with mode-dependent this ptr based on flags at +0x24, then clears flags
0x005B78A0104CSVParser__move_assign_string_entryMove-assigns a 24-byte string entry from param_2 to param_1; destroys old, transfers SSO buffer
0x005B7910785CSVParser__read_csv_lineReads one CSV line from file stream, splitting on comma/newline/CR; returns vector of string fields
0x005B7C3093detect_bom_encodingDetects BOM encoding: returns 5 for UTF-16LE (FF FE), 7 for UTF-16BE (FE FF), 3 for UTF-8 BOM (EF BB BF), 0 otherwise
0x005B7C9054CSVParser__free_all_line_buffersFrees all allocated line buffer pointers in vector, resets end to begin
0x005B7CD0769CSVParser__parse_file_with_callbacksOpens CSV file, reads lines via read_csv_line, invokes line transform and row processor callbacks per row
0x005B7FE01064CSVParser__parse_file_with_dual_callbacksExtended CSV parser with two callback stages: transform function and row handler with std::function support
0x005B8500781CSVParser__process_and_push_fieldStrips quotes from CSV field, replaces escaped quotes, trims whitespace, pushes into row vector as 24-byte string
0x005B8810725CSVParser__load_text_file_linesReads entire text file into memory, splits by CR/LF, filters comment lines (//), pushes line pointers into vector
0x005B8B501identity_return_ecx_005b8b50Identity function that returns its input parameter unchanged
0x005B8F0018MapSkyData__load_lua_scriptLoads Lua script from "Lua Files/MapSkyData/MapSkyData" with flags (1,0)
0x005B8F20193MapSkyData__query_is_background_fogCalls Lua "IsBackGroundFog" with map name; if true, sets background fog flag at renderer+0xCC+0xFC
0x005B8FF0252MapSkyData__query_background_colorCalls Lua "GetBackgroundColor" with map name via Lua state; sets background color on renderer
0x005B90F01277MapSkyData__spawn_clouds_for_mapQueries Lua GetCloudTypeNum/GetCloudInfo per cloud type; spawns cloud effects at random positions with randomized offsets
0x005B95F01165MapSkyData__apply_sky_config_for_mapLoads full sky config: IsExistMapSkyData, GetBackgroundColor, IsDrawStar, cloud spawning, old cloud cleanup, IsBackGroundFog
0x005B9A80360MapSkyData__cleanup_old_cloudsQueries Lua GetOldCloudTypeNum then loops GetOldCloudInfo to destroy old cloud effects by ID
0x005B9BF0180MapSkyData__query_draw_starCalls Lua "IsDrawStar" with map name; if true, enables star rendering (effect ID 9)
0x005B9CB0218MapSkyDataEntry__constructConstructs MapSkyData config entry with ID, name string, Lua function name string, and bool flag
0x005B9D90185MapSkyDataEntry__move_assignMove-assigns MapSkyDataEntry: transfers flag, two string members, and ID from source to this
0x005BA11065MapSkyDataEntry__dtor_string_005ba110Destroys single string member of MapSkyDataEntry
0x005BA16080MapSkyDataEntry__dtor_string_005ba160Destroys string member at offset +4 of MapSkyDataEntry
0x005BA1B0106MapSkyDataEntry__dtor_two_strings_005ba1b0Destroys two string members of MapSkyDataEntry in sequence
0x005BA220106MapSkyDataEntry__dtor_two_strings_005ba220Destroys two string members in reverse order; variant of 005ba1b0
0x005BAEF050snprintf_wrapper_005baef0Wrapper around __stdio_common_vsnprintf_s; returns -1 on error
0x005BB190466WhisperBlockList__iterate_and_save_entriesIterates BST of block list entries; for each, writes string to registry via JSON serialization, advances to next node
0x005BB370433WhisperBlockList__deep_copy_linked_listDeep-copies linked list of 0x30-byte nodes with string members; creates sentinel, returns list head and count
0x005BB530436WhisperBlockConfig__constructConstructs WhisperBlockConfig; sets vtable, decrypts registry key name, initializes 3 string fields, sets active flag
0x005BB6F067WhisperBlockList__free_node_0x30Frees 0x30-byte linked list node at param_1+4 if non-null
0x005BB740126WhisperBlockList__clear_all_nodesClears linked list: unlinks sentinel, walks and frees each 0x30-byte node after destroying string member
0x005BB7C0201WhisperBlockList__destroy_hashtable_0x10Destroys hashtable: decrements count, frees all 0x10-byte bucket entries, frees bucket array, frees 8-byte header
0x005BB890246WhisperBlockList__destroy_hashtable_0x28Destroys hashtable with string dtors: decrements count destroying each string, frees 0x28-byte buckets, frees header
0x005BB990134WhisperBlockList__destroy_linked_list_0x30Walks linked list from head, destroys string member in each 0x30-byte node, frees each node including sentinel
0x005BBA20211WhisperBlockList__destroy_hashtable_0x10_v2Destroys hashtable with 0x10-byte buckets; same pattern as 005bb7c0
0x005BBB00105WhisperBlockConfig__destructDestructs WhisperBlockConfig; sets vtable, destroys 3 string members
0x005BBB70441WhisperBlockConfig__destroy_all_dataDestroys all WhisperBlockConfig data: 2 string members, 0x28-byte hashtable, 0x10-byte hashtable, 8-byte header each
0x005BBD30116WhisperBlockConfig__destruct_with_mapDestructs WhisperBlockConfig variant with vtable 010e0fe4; destroys 2 strings, clears map data, frees allocator
0x005BBDB0126WhisperBlockConfig__scalar_dtorScalar deleting destructor for WhisperBlockConfig (0x5C bytes); destroys 3 strings, frees if flag set
0x005BBE30137WhisperBlockConfig__scalar_dtor_variantScalar deleting destructor for WhisperBlockConfig variant (0x4C bytes); destroys strings+map, frees if flag set
0x005BBEC0135WhisperBlockList__save_to_registryCreates JSON writer, iterates block list BST saving each entry, writes to "WhisperBlockList" registry key
0x005BBF50509WhisperBlockConfig__get_or_create_singletonReturns or creates global WhisperBlockConfig singleton (DAT_01389760); constructs with decrypted key, validates active flag
0x005BC15027WhisperBlockConfig__destroy_singletonDestroys global WhisperBlockConfig singleton via vtable call, sets global ptr to null
0x005BC17088WhisperBlockConfig__copy_path_stringCopy-constructs string from this+0x44 offset (path member) into destination
0x005BC1D088HotkeyConfig__copy_construct_stringCopies STL string at offset +0x2C of hotkey config object via copy constructor
0x005BC230490HotkeyConfig__load_emotion_hotkeysLoads EmotionHotkey entries from registry, iterates emotion slots and reads key bindings
0x005BC420255HotkeyConfig__load_user_hotkey_v2Loads UserHotkey_V2 config; sets up SkillBar_1Tab, SkillBar_2Tab, InterfaceTab, EmotionTab
0x005BC5201068HotkeyConfig__load_all_from_registryMaster hotkey loader: decrypts registry keys, loads skillbar, emotion, and user hotkey configs
0x005BC950445HotkeyConfig__load_skillbar_entriesIterates skillbar entry count, reads each entry string and copies to skillbar data array
0x005BCB10614HotkeyConfig__load_encrypted_config_stringsLoads two XOR-encrypted config strings from registry, stores at object offsets +0x2C and +0x44
0x005BCD80204HotkeyConfig__update_if_changedCompares config ID and string; if changed, resets and updates with new values
0x005BCE50796HotkeyConfig__save_all_to_registrySaves all hotkey config to registry: whisper blocklist, emotion hotkeys, shortcut bars
0x005BD170111HotkeyConfig__reset_to_defaultsResets hotkey config: clears ID, sets name to unknown, destroys emotion entries
0x005BD1E0221HotkeyConfig__save_emotion_hotkeysWrites emotion hotkey bindings to registry under EmotionHotkey section
0x005BD2C0894HotkeyConfig__save_all_shortcut_tabsSaves SkillBar_1Tab, SkillBar_2Tab, InterfaceTab, EmotionTab, UserHotkey_V2 sections
0x005BD660692HotkeyConfig__load_tab_entries_from_jsonReads JSON tab entries with index, type, flag, and value fields into shortcut bar. Iterates JSON array via const_iterator, extracting int fields and converting hex string values to codepage strings.
0x005BD920142HotkeyConfig__replace_vector_bufferReplaces vector backing buffer: frees old strings, deallocates old, assigns new
0x005BD9B01identity_return_ecx_005bd9b0Identity function that returns its input parameter unchanged
0x005BD9C0125HotkeyConfig__init_empty_entriesInitializes N empty hotkey entries: zeroes int, sets SSO capacity to 15
0x005BDA4095HotkeyConfig__allocate_entry_arrayAllocates aligned memory for array of hotkey entries (element size 0x18)
0x005BDAA0729HotkeyConfig__construct_config_objectConstructs hotkey config object: sets vtable, inits 4 SSO strings, decrypts config path
0x005BDD80210HotkeyConfig__destructorDestructor: destroys 4 SSO strings, resets vtable pointers through inheritance chain
0x005BDE60234HotkeyConfig__scalar_deleting_destructorScalar deleting destructor for HotkeyConfig; optionally frees 200-byte object
0x005BDF50666HotkeyConfig__set_config_values_and_saveSets config ID, timestamp, copies 4 strings, decrypts registry key, saves
0x005BE2102074HotkeyConfig__save_encrypted_configSaves hotkey config with XOR-encrypted registry keys for skillbar, emotion sections
0x005BEE1016wrapper_memsetThin wrapper around memset(dst, val, size)
0x005C11B0704RBTree__erase_node_and_rebalanceErases a node from RB-tree with full rebalancing: rotations and color fixes
0x005C14701identity_return_ecx_005c1470Identity function that returns its input parameter unchanged
0x005C1480418CircularQueue__grow_bucket_table_aGrows queue bucket table by doubling, rehashes with 4-element-per-bucket layout
0x005C1630417CircularQueue__grow_bucket_table_bGrows queue bucket table by doubling, rehashes with 2-element-per-bucket layout
0x005C19F084RBTree__rotate_rightRight rotation of RB-tree node: promotes right child, updates parent links
0x005C1A5088RBTree__rotate_leftLeft rotation of RB-tree node: promotes left child, updates parent links
0x005C1AB0182CircularQueue__destroy_buckets_aDestroys all bucket arrays in circular queue A, frees table, resets pointers
0x005C1B70182CircularQueue__destroy_buckets_bDestroys all bucket arrays in circular queue B, frees table, resets pointers
0x005C1E3018CircularQueue__pop_frontPops front element from circular queue. Decrements count; if zero resets offset, otherwise advances offset by 1.
0x005C27E0114CNavigatorScrollList__ctorConstructor for CNavigatorScrollList: calls UIScrollListBase__ctor, sets vtable, initializes 3 list fields to zero
0x005C286086CNavigatorSubWindow__ctorConstructor for CNavigatorSubWindow: calls UIWindowBase__ctor, sets vtable
0x005C28C0150CNavigatorTimerWindow__ctorConstructor for CNavigatorTimerWindow: calls UIWindowBase__ctor, sets vtable, initializes timer fields (default timeout 2000ms)
0x005C296086CNavigatorBaseWindow__ctorConstructor for CNavigatorBaseWindow: calls UIWindowBase__ctor, sets vtable (minimal subclass)
0x005C29C0157CNavigatorSearchWindow__ctorConstructor for CNavigatorSearchWindow: calls UIWindowBase__ctor, sets vtable, initializes SSO string buffer (capacity 0xf) and counter fields
0x005C2C9095CNavigatorScrollList__dtorDestructor for CNavigatorScrollList: sets vtable, clears item vector, calls UIFormattedWidgetBase__dtor
0x005C2CF098CNavigatorSubWindow__dtorDestructor for CNavigatorSubWindow: sets vtable, calls virtual cleanup at vfunc+0xdc, calls UIWindowBase__dtor
0x005C2D6095CNavigatorTimerWindow__dtorDestructor for CNavigatorTimerWindow: sets vtable, clears struct vector via CFmt__vector_of_structs_dtor, calls UIWindowBase__dtor
0x005C2DC071CNavigatorBaseWindow__dtorDestructor for CNavigatorBaseWindow: sets vtable, calls UIWindowBase__dtor (minimal cleanup)
0x005C2E10119CNavigatorSearchWindow__dtorDestructor for CNavigatorSearchWindow: sets vtable, copies a field, clears vector, destroys string, calls UIWindowBase__dtor
0x005C2E9040operator=Assignment operator. Copies string content from source to this object.
0x005C2EC0113CNavigatorDialog__scalar_deleting_dtorScalar deleting destructor for CNavigatorDialog: destroys string, calls UIBaseDialog__destructor, conditionally frees 0x134-byte object
0x005C2F40119CNavigatorScrollList__scalar_deleting_dtorScalar deleting destructor for CNavigatorScrollList: sets vtable, clears item vector, calls UIFormattedWidgetBase__dtor, conditionally frees 0xE0-byte object
0x005C2FC0122CNavigatorSubWindow__scalar_deleting_dtorScalar deleting destructor for CNavigatorSubWindow: sets vtable, calls virtual cleanup, calls UIWindowBase__dtor, conditionally frees 0xB8-byte object
0x005C3040119CNavigatorTimerWindow__scalar_deleting_dtorScalar deleting destructor for CNavigatorTimerWindow: clears struct vector, calls UIWindowBase__dtor, conditionally frees 0x124-byte object
0x005C30C099CNavigatorBaseWindow__scalar_deleting_dtorScalar deleting destructor for CNavigatorBaseWindow: calls UIWindowBase__dtor, conditionally frees 0xB8-byte object
0x005C3130143CNavigatorSearchWindow__scalar_deleting_dtorScalar deleting destructor for CNavigatorSearchWindow: copies field, clears vector+string, calls UIWindowBase__dtor, conditionally frees 0xDC-byte object
0x005C31C078CNavigatorScrollList__add_item_and_refreshAppends an item to the scroll list vector (with realloc if needed), then calls two virtual methods to update display (vfunc+0xD8 and vfunc+0x98)
0x005C34B03764SpriteRenderer__render_with_shadow_layersRenders a character sprite with all equipment layers (body, weapon, shield, robe, accessories). Loads head/body palette, body sprite, weapon sprite, shield sprite, and up to 3 accessory sprites. Handles animation frame timing via timeGetTime() and per-layer frame counters. Each layer is rendered at position offsets calculated from anchor point differences. Uses CResourceMgr to load sprite/palette resources by path
0x005C8DA0439CNavigatorSubWnd__on_commandCommand handler for navigator sub-window (NPC info popup). Handles: event 6/0xC9 = close (sets DAT_01457af4=0xBC if queue not empty), event 6/0x1F4 = show NPC item dialog, event 0x23 = mark all children as visible and redraw, event 0x9A = set title text. Falls through to UIWindow__handle_button_click.
0x005CD6D0218CWebDataEntry__constructConstructs a CWebDataEntry. Copies type flag from param5, initializes string from param4, copies data block from param3 (with move semantics on its internal string), sets bool from param2 at offset 0xd.
0x005CD7B0888CWebDataProviderA__ctorConstructor for CWebDataProviderA (vtable 010e23e4). Initializes base class chain, 4 std::string members (offsets 0xe-0x2c), XOR-decrypts URL from TLS, constructs initial CWebDataEntry with path from 010e23f8. Size: 0x100 bytes.
0x005CDB30243CWebDataProviderA__dtorDestructor for CWebDataProviderA. Sets vtable to 010e23e4, destroys 8 std::string members in reverse order, then destroys base class chain.
0x005CDC30267CWebDataProviderA__scalar_deleting_dtorScalar deleting destructor for CWebDataProviderA. Calls dtor then optionally frees 0x100 bytes if param_2 & 1.
0x005CDD4088CWebDataProvider__copy_result_stringCopies a result string from offset 0x30 of the source object (param1) via STL_string_copy_construct. Returns param2 unchanged.
0x005CDDA0726CWebDataProviderA__set_request_dataSets request data for CWebDataProviderA. Records timestamp via timeGetTime, stores params (x,y coords), assigns 5 string fields (URL, path components), XOR-decrypts URL from TLS, constructs CWebDataEntry, moves it into internal storage.
0x005CE090183CWebDataProviderA__push_back_entryPushes a new entry into CWebDataProviderA. Copy-constructs 3 string fields from offsets 0xcc and 0xe4 of source, then calls handler_005cb520 to finalize.
0x005CE1503959CWebDataProviderA__build_requestBuilds HTTP request for CWebDataProviderA. Formats 4 numeric fields (offsets 0x28-0x34) as strings, copies URL strings, XOR-decrypts 8 TLS-stored key/value pairs for request headers. Performs final assembly via stub_005e9960/stub_005e9a20, stores result, constructs CWebDataEntry with success/fail path.
0x005CF0D0218CWebDataEntryB__constructConstructs a CWebDataEntryB (same layout as CWebDataEntry). Copies type from param5, initializes string from param4, copies data block from param3 (move semantics on string), sets bool from param2.
0x005CF1B0744CWebDataProviderB__ctorConstructor for CWebDataProviderB (vtable 010e2474). Initializes base class chain, 4 std::string members, XOR-decrypts URL from TLS, constructs initial CWebDataEntryB with path from 010e2488. Size: 0xC8 bytes.
0x005CF4A0210CWebDataProviderB__dtorDestructor for CWebDataProviderB. Sets vtable to 010e2474, destroys 6 std::string members in reverse order, then destroys base class chain.
0x005CF580234CWebDataProviderB__scalar_deleting_dtorScalar deleting destructor for CWebDataProviderB. Calls dtor then optionally frees 200 (0xC8) bytes if param_2 & 1.
0x005CF670622CWebDataProviderB__set_request_dataSets request data for CWebDataProviderB. Records timestamp, stores coordinates, assigns 3 string fields, XOR-decrypts URL from TLS, constructs CWebDataEntryB.
0x005CF8F0180CWebDataProviderB__push_back_entryPushes a new entry into CWebDataProviderB. Copy-constructs 3 string fields from offsets 0x94 and 0xac of source, then calls complex_handler_005cb810 to finalize.
0x005CF9B02519CWebDataProviderB__build_requestBuilds HTTP request for CWebDataProviderB. Formats 2 numeric fields as strings, copies URL strings, XOR-decrypts 4 TLS-stored key/value pairs for request headers. Performs final assembly, stores result, constructs CWebDataEntryB with success/fail path.
0x005D0390218CWebDataEntryC__constructConstructs CWebDataEntryC (same layout as CWebDataEntry). Copies type from param5, initializes string from param4, copies data block from param3 (move semantics), sets bool from param2.
0x005D0470744CWebDataProviderC__ctorConstructor for CWebDataProviderC (vtable 010e24f0). Initializes base class chain, 4 std::string members, XOR-decrypts URL from TLS, constructs initial CWebDataEntryC with path from 010e2500. Size: 0xD0 bytes.
0x005D0760210CWebDataProviderC__dtorDestructor for CWebDataProviderC. Sets vtable to 010e24f0, destroys 6 std::string members in reverse order, then destroys base class chain.
0x005D0840234CWebDataProviderC__scalar_deleting_dtorScalar deleting destructor for CWebDataProviderC. Calls dtor then optionally frees 0xD0 bytes if param_2 & 1.
0x005D0930638CWebDataProviderC__set_request_dataSets request data for CWebDataProviderC. Records timestamp, stores coordinates, assigns 3 string fields plus extra int at 0x90, XOR-decrypts URL from TLS, constructs CWebDataEntryC.
0x005D0BC0180CWebDataProviderC__push_back_entryPushes entry into CWebDataProviderC. Copy-constructs 3 string fields from offsets 0x98 and 0xb0, then calls CPartyRecruit__handle_update_entry to finalize.
0x005D0C802495CWebDataProviderC__build_requestBuilds HTTP request for CWebDataProviderC. Formats 3 numeric fields (including extra field at 0x90) as strings, copies URL strings, XOR-decrypts 4 TLS-stored key/value pairs, assembles request, stores result, constructs CWebDataEntryC on success.
0x005D1640872CWebDataProviderD__ctorConstructor for CWebDataProviderD (vtable 010e2568). Initializes base class chain with embedded sub-object (PTR_CEffectTextureBase__scalar_deleting_dtor_010dd734), 5 std::string members, min/max level (0/999), XOR-decrypts URL from TLS, constructs entry with path from 010e2578. Size: 0x120 bytes.
0x005D19B0253CWebDataProviderD__dtorDestructor for CWebDataProviderD. Sets vtable to 010e2568, destroys 8 std::string members and embedded sub-object in reverse order, then destroys base class chain.
0x005D1AB0277CWebDataProviderD__scalar_deleting_dtorScalar deleting destructor for CWebDataProviderD. Calls dtor then optionally frees 0x120 bytes if param_2 & 1.
0x005D1BD0858CWebDataProviderD__set_request_dataSets request data for CWebDataProviderD. Records timestamp, stores coordinates, assigns 3 string fields, copies 4 bool flags (0x98-0x9b), 3 int values, 2 more string fields, and 2 additional int/string pairs. XOR-decrypts URL from TLS, constructs CWebDataEntryC. Resets embedded sub-object vtable.
0x005D1F40180CWebDataProviderD__push_back_entryPushes entry into CWebDataProviderD. Copy-constructs 3 string fields from offsets 0xe4 and 0xfc, then calls CPartyRecruit__handle_create_response to finalize.
0x005D20005629CWebDataProviderD__build_requestBuilds HTTP request for CWebDataProviderD. Formats 2 numeric fields and a sequence number as strings, copies URL strings, XOR-decrypts many TLS-stored key/value pairs. Includes boolean flags for Assist/Healer/Dealer/Tanker and level range. Performs final assembly, constructs CWebDataEntryC with success/fail path. 5629 bytes.
0x005D3600861CWebDataProviderE__ctorConstructor for CWebDataProviderE (vtable 010e25e0). Initializes base class chain with embedded sub-object (PTR_CEffectTextureBase__scalar_deleting_dtor), 3 std::string members, min/max level (0/999), XOR-decrypts URL from TLS, constructs entry with path from 010e25f0. Also initializes an extra string at offset 0x3f. Size: 0x118 bytes.
0x005D3960253CWebDataProviderE__dtorDestructor for CWebDataProviderE. Sets vtable to 010e25e0, destroys string members, resets embedded sub-object vtable, then destroys base class chain.
0x005D3A60277CWebDataProviderE__scalar_deleting_dtorScalar deleting destructor for CWebDataProviderE. Calls dtor then optionally frees 0x118 bytes if param_2 & 1.
0x005D3B80766CWebDataProviderE__set_request_dataSets request data for CWebDataProviderE. Records timestamp, stores coordinates, assigns 3 string fields. Copies extensive struct data: 4 bool flags, 3 ints, 2 string fields. XOR-decrypts URL from TLS, constructs CWebDataEntryC.
0x005D3E90183CWebDataProviderE__push_back_entryPushes entry into CWebDataProviderE. Copy-constructs 3 string fields from offsets 0xc8 and 0xe0, then calls CPartyRecruit__handle_delete_response to finalize.
0x005D5C90218CReportEntry__constructConstructs report entry with type flag, string key, data block
0x005D9E301CShopCart__sell_item_and_update_totalsProcesses selling an item from shop cart: decrements quantity in sell list, removes if empty, adds to buy list, updates material requirements and total cost
0x005DA0401CShopCart__buy_item_and_update_totalsProcesses buying an item in shop cart: adds to buy list, decrements from sell list (clamps to 0), updates material requirements and total cost
0x005DA3A01CShopCart__get_sell_items_beginCShopCart: get sell items begin
0x005DB8F0163CSearchManager__delete_tree_nodes_recursiveRecursively frees 0x28-byte nodes
0x005DB9A0165CSearchManager__map_lower_bound_vector_keylower_bound with vector key
0x005DBA50100sort3_8byte_elementsSorts 3 8-byte pairs
0x005DC400121CSearchManager__init_treeInitializes 0x28-byte RB tree
0x005DC5E067CSearchManager__free_tree_sentinel_28CSearchManager: free tree sentinel 28
0x005DC66076CSearchManager__destroy_tree_fullDestroys all tree nodes
0x005DC6C0143CSearchManager__destroy_tree_node_with_cleanupDestroys node with cleanup
0x005DC75078CSearchManager__free_tree_node_28CSearchManager: free tree node 28
0x005DC7C087CSearchManager__destroy_tree_and_free_005dc7c0Destroys tree and sentinel
0x005DC9B099CSearchManager__destroy_tree_and_free_005dc9b0Destroys tree (third)
0x005DCC60120CSearchManager__scalar_deleting_dtorScalar deleting destructor for CSearchManager. Destroys all tree nodes recursively, frees the sentinel node (0x28 bytes), then conditionally frees the object itself (0xC bytes) if bit 0 of param is set.
0x005DCCE0631CSearchManager__find_or_insert_by_sorted_keySearches the CSearchManager RB-tree for an entry matching a sorted key vector. Sorts the input 8-byte vector, extracts first elements as int key vector, does lower_bound lookup. Returns move-constructed result (found entry or empty). Cleans up temporary vectors.
0x005DCF60292CChangeMaterialMgr__init_singletonInitializes the CChangeMaterialMgr singleton (global at DAT_013898a4). Allocates 0xC-byte manager with RB-tree, calls load_lua_recipes to populate from Lua. If load fails or tree is empty, destroys the singleton and sets global to NULL. Returns 1 on success, 0 on failure.
0x005DD090127CChangeMaterialMgr__destroy_singletonDestroys the CChangeMaterialMgr singleton (global DAT_013898a4). Recursively frees all tree nodes, frees sentinel (0x28 bytes), frees the manager object (0xC bytes), and sets the global pointer to NULL.
0x005DD110585CChangeMaterialMgr__load_lua_recipesLoads the change material recipe data from Lua. Creates CLuaHost, registers base libs, exposes InsertRecipe callback, loads System_ChangeMaterial.lub, calls main(). Returns 1 on success. On error, shows MessageBox with error details (class name: CChangeMaterialMgr). Validates second Lua return value is boolean success flag and first is error string.
0x005DD360829CSearchManager__insert_recipeInserts a recipe into the search manager's sorted map. Sorts material list, looks up by key via lower_bound, allocates a new tree node with recipe data (materials + products), and inserts into the RB-tree. Returns error string "error m_Library insert" on failure.
0x005DD6A0504CSearchManager__add_recipe_if_uniqueAdds a recipe entry if no duplicate exists. Iterates existing recipes comparing material lists element by element. Returns "found same recipe" if a matching recipe already exists, otherwise appends the new recipe (28-byte element) to the vector.
0x005DD8A0230CSearchManager__format_stringFormat string helper using vsprintf. Allocates a 2048-byte buffer, formats the string via __stdio_common_vsprintf, then assigns the result to an STL string.
0x005DE1601821CSearchManager__lua_register_recipeLua callback to register a recipe in the search manager. Reads 3 Lua table arguments: arg1=materials table (id, name, count per entry), arg2=products table (id, name, count, extra per entry), arg3=recipe ID number. Validates types, builds material/product vectors, calls CSearchManager__insert_recipe. Returns 2 values: boolean success + message string.
0x005DE880277CSearchManager__copy_tree_node_recursiveRecursively copies an RB-tree node and its children. Allocates a new 0x28-byte node, copies the key vectors (8-byte and 12-byte), links to parent, then recurses on left and right children. Returns the new subtree root.
0x005DEEF0163CSearchManager__delete_tree_recursiveRecursively deletes RB-tree nodes. Traverses right subtree first, then iterates left children, destroying the 28-byte result vector and 4-byte key vector in each node before freeing the 0x28-byte node allocation.
0x005E03B0431CSearchManagerWnd__ctorConstructor for CSearchManagerWnd. Calls UIWindowBase__ctor, sets vtable to PTR_010e2adc, initializes tree/vector members to zero, sets window dimensions (0xA8 x 0x83), and loads configuration values from global data at 0x10e30f0.
0x005E065094CSearchItemWidget__ctorConstructor for CSearchItemWidget. Calls UISpriteWidget__ctor, sets vtable to PTR_010e2928, initializes sprite type field (0x29=0x10).
0x005E06B065CSearchManagerWnd__cleanupCleanup helper for CSearchManagerWnd. Delegates to an internal cleanup function at 005e45b0.
0x005E071084CSearchManager__clear_treeClears the search manager's RB-tree. Recursively deletes all tree nodes via CSearchManager__delete_tree_nodes_recursive, then frees the sentinel/root node (0x28 bytes).
0x005E08D0213CSearchManagerWnd__dtorDestructor for CSearchManagerWnd. Sets vtable to PTR_010e2adc, sends a network packet (0xC07E4), destroys the shop item vector, destroys string members, then calls UIWindowBase__dtor.
0x005E0F10128CSearchFilterDlg__scalar_deleting_dtorScalar deleting destructor for CSearchFilterDlg. Destroys two std::strings and calls UIComplexDialog__scalar_del_dtor_2. Frees memory (size 0x13C) if param_2 & 1.
0x005E45801identity_return_ecx_005e4580Identity function that returns its input parameter unchanged
0x005E45901identity_return_ecx_005e4590Identity function that returns its input parameter unchanged
0x005E45A01identity_return_ecx_005e45a0Identity function that returns its input parameter unchanged
0x005E4D40210CWebDataProvider__dtorDestructor for CWebDataProvider. Sets vtable, destroys 6 string members, resets base class vtables to purecall.
0x005E4E20234CWebDataProvider__scalar_deleting_dtorScalar deleting destructor for CWebDataProvider. Calls dtor logic then optionally frees 200 bytes.
0x005E4F10638CWebDataProvider__init_requestInitializes a web data request. Records timestamp via timeGetTime, sets request type params, copies URL/path/data strings, decrypts an obfuscated string key and calls stub_005e4970 to build/submit the request.
0x005E51A0212CUserSettings__load_from_jsonLoads user settings from JSON. Copies 4 string members (offsets 0x94, 0xAC, etc.) and then calls CUserSettings__parse_json_settings at 005e6090 to process them.
0x005E52802127CWebDataProvider__submit_settings_requestSubmits user settings to the web backend. Formats request/response type IDs, copies URL strings, converts string to UTF-8, decrypts multiple obfuscated keys, calls web request helpers, and on success copies the result back to the provider's string member at offset 0x78.
0x005E5AD0378CWebDataCallback__ctorConstructor for CWebDataCallback. Sets vtable, initializes status string to "unknown", and two empty strings. Object size is 0x60 bytes. Sets enabled flag at offset 0x4 to true.
0x005E5C5033CWebDataCallback__release_refReleases a reference to a web data callback. If the reference at offset 0x24 is non-null, calls its virtual destructor (vtable+0x10) and sets the reference to null.
0x005E5C8092CWebDataCallback__release_ref_safeSafely releases a reference with SEH exception handling. Same logic as release_ref but wrapped in try/catch frame.
0x005E5CE0105CWebDataCallback__dtorDestructor for CWebDataCallback. Sets vtable, destroys 3 string members.
0x005E5D50126CWebDataCallback__scalar_deleting_dtorScalar deleting destructor for CWebDataCallback. Calls dtor logic then optionally frees 0x60 bytes.
0x005E5DD0480CWebDataCallback__get_or_create_instanceGets or creates the global singleton CWebDataCallback instance (stored at DAT_013898bc). Creates new object (0x60 bytes) if null. Returns 1 if ready, 0 if creation failed. Calls scalar_deleting_dtor if enabled flag is not set.
0x005E5FB027CWebDataCallback__destroy_instanceDestroys the global CWebDataCallback singleton (DAT_013898bc). Calls scalar_deleting_dtor and sets pointer to null.
0x005E5FD088CWebDataCallback__get_url_stringReturns a copy of the URL string at offset 0x48 of the callback object.
0x005E603088CWebDataCallback__get_path_stringReturns a copy of the path string at offset 0x30 of the callback object.
0x005E6090800CUserSettings__parse_json_settingsParses JSON user settings string. Reads UseSkillInfo, HomunSkillInfo, ItemComparison, SortPrivateTab, NormalItemSlot sections. On comment type 1, loads skill levels, homun skills, item comparison flag. On type 4, loads skill use levels from registry. Marks settings as loaded (offset+0x28=1).
0x005E63B0408CUserSettings__load_homun_skill_infoLoads homunculus skill info from JSON. Iterates over "HomunSkillInfo" array, reads "HomunSKID" and "HomunSKLv" for each entry, calls set_mercenary_data_by_id to store skill ID/level pairs.
0x005E6550136CUserSettings__load_item_comparison_flagLoads the ItemComparison setting from JSON. Reads "ItemComparison" bool value, defaults to 1 (enabled) if missing. Sets game option 0x108 via GameSettings__set_option_enabled.
0x005E65E0925CUserSettings__load_item_slot_settingsLoads item slot settings from JSON "NormalItemSlot" section. Reads per-slot ItemID/SlotNum pairs into global array at DAT_01732ce5 (7-byte stride). Also reads SlotInfo containing SlotX/Y/Width/Height/SlotShow geometry, and ItemSlotActive flag. Falls back to default position if SlotInfo missing.
0x005E6980132CUserSettings__load_sort_private_tabLoads "SortPrivateTab" bool from JSON. Stores result in DAT_0173a504. Defaults to 0 if key is missing.
0x005E6A10408CUserSettings__load_skill_use_infoLoads skill use info from JSON "UseSkillInfo" array. Iterates over entries, reads skill ID and skill level fields, calls CSkillMgr__set_skill_level_by_id for each valid entry.
0x005E6BB0614CUserSettings__build_data_pathsBuilds data file paths for user settings. Uses lua_get_table_string_value_for_c to get a base path, then decrypts two obfuscated filename suffixes and concatenates them to form full paths stored at offsets 0x30 and 0x48 of the settings object.
0x005E6E20202CUserSettings__register_data_providerRegisters a data provider with the user settings system. Validates both params are non-null, copies URL string, gets path from callback, copies extra string, and calls CEffectTexture__register_effect_type_b to associate the provider pair.
0x005E6EF01216CUserSettings__save_to_json_and_submitSaves all user settings to JSON and submits to web backend. Only runs if settings are loaded (offset+0x28). Builds JSON with UseSkillInfo (skill levels for each skill), HomunSkillInfo (homun skill IDs/levels), ItemComparison flag, SortPrivateTab flag, NormalItemSlot data. Writes JSON string, copies result, and submits via CEffectTexture__register_effect_type_c with incremented counter at offset+0x2c.
0x005E73B044CUserSettings__reset_and_rebuild_pathsResets user settings state. Clears type fields (offset+8, +0xC), sets status to "unknown", clears loaded flag (offset+0x28), then calls build_data_paths to reconstruct file paths.
0x005E73E0313CUserSettings__build_homun_skill_jsonBuilds JSON array for homunculus skill info. Iterates through mercenary/homun skill list (DAT_017326bc), checks quantity via CShop__get_card_item_quantity_by_id, and for each valid skill creates a JSON object with HomunSKID and HomunSKLv. Stores result under "HomunSkillInfo" key.
0x005E7520125CUserSettings__build_item_comparison_jsonBuilds JSON for ItemComparison setting. Gets option 0x108 state from GameSettings, creates bool JSON value, and assigns it under the "ItemComparison" key.
0x005E75A0651CUserSettings__build_item_slot_jsonBuilds JSON for NormalItemSlot settings. Creates array of per-slot objects with ItemID/SlotNum from global array (DAT_01732ce5, 7-byte stride, 9 slots). Also builds SlotInfo sub-object with SlotX/Y/Width/Height/SlotShow from globals at DAT_01457dc8-dd8. Includes ItemSlotActive flag from DAT_0173a765.
0x005E7830116CUserSettings__build_sort_private_tab_jsonBuilds JSON for SortPrivateTab setting. Creates bool JSON value from DAT_0173a504 and assigns under "SortPrivateTab" key.
0x005E78C0165CUserSettings__build_skill_use_jsonBuilds JSON array for UseSkillInfo. Creates a skill callback iterator, iterates all skills via CSkillMgr__for_each_skill_callback, and stores the resulting array under "UseSkillInfo" key.
0x005E7970250CUserSettings__set_or_insert_tree_entrySets or inserts a key-value pair in the user settings red-black tree (at offset+0x7FAC). Looks up key via lower_bound; if not found, allocates a 0x20 byte tree node and inserts it. Stores two values at node offsets 0x18 and 0x1C. Throws if tree exceeds 0x7FFFFFF entries.
0x005E7A7022CSkillUseCallback__copy_ctorCopy constructor for skill use callback functor. Sets vtable pointer and copies the data pointer from offset+4 of the source object.
0x005E7A9068CSkillUseCallback__scalar_deleting_dtorScalar deleting destructor for CSkillUseCallback. Optionally frees 8 bytes if flag is set.
0x005E7AE0234CSkillUseCallback__operator_callCallback operator for skill use iteration. For each skill (param+8 = skill ID), checks quantity via CShop__get_item_quantity_by_id_universal. If non-zero, creates a JSON object with skill ID and level fields, appends to JSON array. Always returns 1 (continue).
0x005E7BE022CSkillUseCallback__copy_ctor_005e7be0Copy constructor for skill use callback functor (duplicate at different address). Sets vtable and copies data pointer from source offset+4.
0x005E7C10744CWebDataProvider__ctorConstructor for CWebDataProvider. Copies global base URL (DAT_013898c8), initializes base class strings, sets vtable chain (purecall base -> derived), initializes 6 fields (URL, path, status, request data as empty strings), decrypts an obfuscated file extension key and calls builder to finalize. Object size ~200 bytes.
0x005E7F00210CWebDataProvider__dtor_005e7f00Destructor variant for CWebDataProvider (different vtable path). Sets derived vtable, destroys 6 string members, resets base vtables to purecall.
0x005E7FE0234CWebDataProvider__scalar_deleting_dtor_005e7fe0Scalar deleting destructor variant for CWebDataProvider (different vtable). Calls dtor logic and optionally frees 200 bytes.
0x005E80D0666CWebDataProvider__init_request_005e80d0Initializes a web data request (variant with 4 string parameters). Records timestamp, sets type params, copies URL/path/extra/data strings (offsets 0x30, 0x48, 0x78, 0x60), decrypts obfuscated key, and submits request via builder.
0x005E83902711CWebDataProvider__submit_extended_requestSubmits an extended web data request with multiple encrypted parameters. Formats type IDs, copies URL/extra/path strings, converts to UTF-8 twice (for both URL and extra data), decrypts 4 obfuscated key strings via xor_decrypt_buffer for request building, handles both success and failure paths with different decrypted keys, and cleans up curl resources.
0x005E8EF31nop_return_void_005e8ef3Single-byte NOP stub (no operation, returns immediately)
0x005E8F1085CCurlWrapper__dtorDestructor for CCurlWrapper. Sets vtable, calls curl_global_cleanup via function pointer (offset+8), then FreeLibrary on the loaded libcurl.dll handle (offset+0x34) and nulls it.
0x005E8F70106CCurlWrapper__scalar_deleting_dtorScalar deleting destructor for CCurlWrapper. Calls dtor logic, optionally frees 0x38 bytes.
0x005E8FE0491convert_string_to_utf8Converts a string from the current system codepage to UTF-8. Uses MultiByteToWideChar (codepage from DAT_016d3a78) to convert to wide chars via SysAllocStringLen, then WideCharToMultiByte with CP 0xFDE9 (UTF-8) to produce the result. Uses stack alloca for small buffers, heap malloc for large ones.
0x005E92731nop_return_void_005e9273Single-byte NOP stub (no operation, returns immediately)
0x005E9290368CCurlWrapper__get_or_create_instanceGets or creates the global CCurlWrapper singleton (DAT_013898cc). Dynamically loads libcurl.dll via LoadLibraryA, resolves 11 curl function pointers (curl_global_init, curl_global_cleanup, curl_slist_append, curl_formadd, curl_easy_init, curl_easy_setopt, curl_easy_perform, curl_easy_cleanup, curl_formfree, curl_slist_free_all, curl_easy_getinfo). Calls curl_global_init(3). Returns 1 if ready, 0 if failed.
0x005E940031CCurlWrapper__cleanup_instanceCleans up a CCurlWrapper instance. Calls curl_global_cleanup via vtable function pointer (offset+8), then FreeLibrary on the dll handle (offset+0x34) and sets it to null.
0x005E942027CCurlWrapper__destroy_instanceDestroys the global CCurlWrapper singleton (DAT_013898cc). Calls scalar_deleting_dtor and sets pointer to null.
0x005E9440445convert_utf8_to_local_codepageConverts a UTF-8 string to the local system codepage. Uses MultiByteToWideChar with CP 0xFDE9 (UTF-8) to convert to wide chars via SysAllocStringLen, then WideCharToMultiByte with the system codepage (DAT_016d3a78) to produce the result. Uses stack alloca for small buffers.
0x005E9600258CCurlRequest__ctorConstructor for CCurlRequest. Sets vtable, copies URL string, initializes curl handle via curl_easy_init, sets up HTTP headers (Content-Type: multipart/form-data, Expect: 100-continue, Connection: keep-alive) via curl_slist_append. Sets ready flag if curl handle is valid. Object size 0x48 bytes.
0x005E9710181CCurlRequest__dtorDestructor for CCurlRequest. Sets vtable, calls curl_easy_cleanup on handle (offset+0x2C), curl_formfree on form data (offset+0x28), curl_slist_free_all on headers (offset+0x20). Destroys two string members.
0x005E97D0202CCurlRequest__scalar_deleting_dtorScalar deleting destructor for CCurlRequest. Calls dtor logic, optionally frees 0x48 bytes.
0x005E990089CCurlRequest__cleanup_handlesCleans up curl handles on a request object (different field layout). Calls curl_easy_cleanup on handle (offset+0x2C), curl_formfree on form (offset+0x28), curl_slist_free_all on headers (offset+0x20), nulling each after cleanup.
0x005E9960143CWebDataProviderA__send_request_with_paramsSends a web request through the cURL vtable interface (DAT_013898cc+0x10) with two string parameters. Cleans up temporary strings on completion. Part of CWebDataProviderA for sky data retrieval.
0x005E99F036CWebDataProviderA__fetch_resultFetches the result from a completed web request via cURL vtable (DAT_013898cc+0x2c) with opcode 0x200002. Returns result status. Part of CSkyDataProviderA.
0x005E9A20204CWebDataProviderA__configure_and_perform_curlConfigures cURL handle with multiple options (0x2712=URL, 0x2727=timeout, 0x2f=follow redirect, 0x2728=max redirects, 0x4e2b=write callback, 0x2711=write data, 0xd/0x4e=timeouts) then performs the request. Returns 0 on success, 2 if no handle.
0x005E9AF036curl_write_callback_append_stringStandard cURL write callback function. Appends received data (size*nmemb bytes) to a string buffer. Returns total bytes written. Used as CURLOPT_WRITEFUNCTION.
0x005F756040operator=SimpleString::operator=(const char*) - Library function from Visual Studio 2019 Release. Measures string length, then calls STL_string_assign_buffer to assign the C string content.
0x005F75A0115CUserHotKeyList__clear_linked_listClears a linked list used by the hotkey system. Walks the list from head's right pointer, calls stub_005edaf0 to remove each node's key, frees 0x20-byte nodes, resets head pointers and count to 0.
0x005F76A0219CUserHotKeyList__push_back_entryPushes a new entry onto the linked list. Allocates a 0x20-byte node, copies 16 bytes of key data and an 8-byte string from param_2, links it at the tail of the doubly-linked list. Max size 0x7ffffff. Throws length_error("list too long") on overflow.
0x005F7790123CUserHotKeyFile__ctorConstructor for a file handle wrapper used by the hotkey system. Sets vtable, initializes file handle to -1, clears 5 dwords of state (size, flags, buffer fields). SEH frame for exception safety.
0x005F781026CUserHotKeyFile__closeCloses the file handle if it's open (non-null). Calls CloseHandle and sets handle to 0.
0x005F783085CUserHotKeyFile__open_for_readOpens a file for reading (GENERIC_READ, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL). Gets file size via GetFileSizeEx. Returns 1 on success, 0 on failure.
0x005F789085CUserHotKeyFile__open_for_writeOpens a file for read/write (GENERIC_READ\|GENERIC_WRITE, OPEN_ALWAYS, FILE_FLAG_WRITE_THROUGH\|FILE_ATTRIBUTE_NORMAL). Gets file size. Returns 1 on success, 0 on failure.
0x005F78F0193CUserHotKeyFile__read_at_offsetReads data from the file at a given offset. Validates offset+size doesn't exceed file size, uses SetFilePointerEx to seek, then ReadFile into internal buffer. Returns pointer to buffer on success, 0 on failure. Manages buffer resizing if needed.
0x005F79C0107CUserHotKeyFile__write_at_offsetWrites data to the file at a given offset. Uses SetFilePointerEx to seek, then WriteFile. Updates tracked file size if write extends past current end. Returns 1 on success, 0 on failure.
0x005F7A30111CUserHotKeyStore__clear_node_listClears a singly-linked list of 0x30-byte nodes. Walks the list, destroys the STL string in each node, frees the node memory. Sets list tail pointer to null.
0x005F7AA0161CUserHotKeyStore__ctorConstructor for CUserHotKeyStore. Sets vtable, initializes boolean flags, allocates a 0x30-byte sentinel node for the linked list, clears the list via clear_node_list, sets count to 0 and ready flag to true.
0x005F7B50116CUserHotKeyStore__destroy_single_nodeDestroys a single 0x30-byte node from the hotkey store. If the node pointer at offset +4 is non-null, destroys its STL string member then frees the 0x30-byte allocation.
0x005F7BD091CUserHotKeyStore__dtorDestructor for CUserHotKeyStore. Sets vtable, clears all nodes in the linked list via clear_node_list, then frees the 0x30-byte sentinel node.
0x005F7C3087CUserHotKeyStore__destroy_two_stringsDestroys two STL strings in sequence. Used as a cleanup handler during hotkey store operations. SEH frame protected.
0x005F7C9068CUserHotKeyStore__destroy_one_stringDestroys a single STL string member. Used as a cleanup handler during hotkey store node destruction. SEH frame protected.
0x005F7CE0116CUserHotKeyStore__scalar_deleting_dtorScalar deleting destructor for CUserHotKeyStore. Clears all nodes, frees sentinel, then conditionally frees the object itself (0x18 bytes) if param_2 bit 0 is set.
0x005F7D60517CUserHotKey__clear_and_save_dataBuilds "SaveData_UserKeys" path string, and if it has content, calls lua_call_function("ClearUserHotKeys") to clear existing hotkey data. Part of the hotkey save/load system.
0x005F7F70258CUserHotKeyStore__get_or_create_instanceSingleton getter for CUserHotKeyStore. If global DAT_013898e4 is null, allocates a new CUserHotKeyStore (0x18 bytes), constructs it, and stores it. Returns 1 if the instance is ready, 0 otherwise. If construction fails, destroys the instance.
0x005F808027CUserHotKeyStore__destroy_instanceDestroys the global CUserHotKeyStore singleton at DAT_013898e4. Calls the virtual destructor with delete flag, sets the global pointer to null.
0x005F80A054CUserHotKey__remap_hotkey_categoryMaps hotkey category IDs: 1->3, 2->1, 3->2, else->0. Used to convert between internal and display hotkey bar ordering.
0x005F80E027CUserHotKey__has_hotkey_dataChecks if hotkey data is available. Returns 1 if the count at offset +8 is positive, or if a secondary flag at +0xc is false and load_user_hotkey_info succeeds. Returns 0 otherwise.
0x005F81001176CUserHotKey__load_user_hotkey_infoLoads user hotkey info by iterating 4 hotkey categories. For each category, calls lua_get_original_hotkey_list_size and compute_hotkey_index_with_special_ids, then calls Lua "GetUserHotKeyInfo" to get hotkey data and assigns it. Returns 0 on completion.
0x005F85A0801CUserHotKey__load_and_build_hotkey_listLoads hotkey data from Lua and builds the internal hotkey list. Clears existing list, iterates 4 categories (remapping via category converter), gets each hotkey via Lua "GetUserHotKeyInfo", creates list nodes with category/index/string data. Builds a complete linked list of all configured hotkeys.
0x005F88D053CUserHotKey__reset_stateResets the hotkey manager state. Clears the linked list at offset +0x10, resets count at +0x14, clears flags at +5 and +0xc, and resets the data count at +8 to 0.
0x005F8910517CUserHotKey__save_hotkeys_to_luaSaves current hotkeys via Lua. Builds "SaveData_UserKeys" path, and if it has content, calls lua_call_function("SaveUserHotKeys2") to persist hotkey data through the Lua scripting layer.
0x005F8B20179CUserHotKey__change_user_hotkeyChanges a user hotkey binding by calling lua_call_function("ChangeUserHotKey"). Allocates a string buffer, copies the function name, and invokes the Lua callback through the global Lua state.
0x005F91D0196CUserHotKeyMgr__ctorConstructor for CUserHotKeyMgr. Sets vtable, initializes two red-black trees (one with 0x88-byte nodes for string-keyed data, one with 0x20-byte nodes for int-keyed data), constructs a CLuaInstance member, and sets type field to 6.
0x005F92A0176CUserHotKeyMgr__init_rbtree_and_stringsInitializes a sub-structure at the given offset. Creates a 0x20-byte RB-tree sentinel node, initializes two STL strings (at offsets +0x38 and +0x54 relative to param_1) to empty, and clears counts at +8 and +0xc.
0x005FB6401identity_return_ecx_005fb640Identity function that returns its input parameter unchanged
0x005FC60099CItemReformDescWnd__scalar_deleting_dtorCItemReformDescWnd scalar deleting destructor. Sets vtable to PTR_stub_005fc600_010e83bc, calls UIBaseDialog__destructor_2, conditionally frees this (0xB4 bytes).
0x005FC67096CItemReformSlotEffect__scalar_deleting_dtorScalar deleting destructor for item reform slot effect widget (0x7C bytes). Sets vtable, calls CEffect__dtor, conditionally frees this.
0x005FC6D099CItemReformMaterialSlot__scalar_deleting_dtorScalar deleting destructor for item reform material slot widget (0x80 bytes). Sets vtable, calls CEffect__dtor, conditionally frees this.
0x005FCD109CItemReformMaterialSlot__set_positionThin wrapper that delegates to CEffect__set_position for the material slot widget.
0x00602B0047sprintf_s_wrapperWrapper around __stdio_common_vsprintf_s. Formats a string using the provided format and variadic arguments into the output buffer with size checking. Returns formatted length or -1 on error.
0x0060B670417CircularQueue__grow_bucket_table_b_0060b670Grows the circular queue's bucket table. Doubles capacity until it can hold the requested number of additional entries (minimum 8 buckets). Allocates aligned memory for large sizes (>0x1000), copies existing data with wrap-around handling, and frees the old buffer. Each bucket is 4 bytes.
0x0060BA30182CircularQueue__destroy_all_bucketsDestroys all buckets in a circular queue. Iterates through the bucket table, freeing each 0x10-byte bucket. Then frees the bucket table itself (aligned free for large allocations). Resets capacity and pointer to zero.
0x0060BB00481CircularQueue__erase_rangeErases a range of elements from a circular queue. Takes start/end indices and shifts elements to fill the gap, choosing the direction (forward or backward shift) based on which side is smaller. Decrements count and adjusts the front index. Returns an iterator to the new position after erasure.
0x00612B90216CReputeEntry__copy_ctorCopy constructor for CReputeEntry. Initializes struct with two std::strings (at offsets 0 and 0x18) and 4 int fields (offsets 0x30-0x3c). Copies string contents from source params using STL_string_assign_buffer.
0x00612C70224CReputeEntry__ctor_from_cstrConstructor for CReputeEntry from C-strings. Initializes two std::strings and 4 int fields at offsets 0x30-0x3c to zero. Copies param_2 into the first string (offset 0) and param_3 into the second string (offset 0x18) using strlen + STL_string_assign_buffer.
0x00612D50149CReputeEntry__default_ctorDefault constructor for CReputeEntry. Initializes two empty std::strings (offsets 0 and 0x18, each with length=0, capacity=0xf) and 4 int fields (offsets 0x30-0x3c) to zero.
0x00612DF0277CReputeDetailEntry__ctor_from_cstrConstructor for CReputeDetailEntry from C-strings and numeric values. Has two std::strings (offsets 0 and 0x18) and 9 numeric fields (offsets 0x30-0x50). Copies param_8 and param_9 as C-strings into the string fields, stores param_2-param_7 into numeric fields at offsets 0x30-0x44.
0x00612F10188CReputeDetailEntry__default_ctorDefault constructor for CReputeDetailEntry. Initializes two empty std::strings (offsets 0 and 0x18), and zeroes all numeric fields (offsets 0x30-0x50). Total struct size accommodates 2 strings + 9 ints.
0x00612FD0125CReputeDetailEntry__copy_ctorCopy constructor for CReputeDetailEntry. Stores 5 int fields directly (params 2-6) at offsets 0-0x10, then copy-constructs three std::strings from params 7-9 using STL_string_copy_construct.
0x00613050303CReputeGroupEntry__ctor_from_cstrConstructor for CReputeGroupEntry from C-strings and numeric values. Has 5 int fields (offsets 0-0x10) and 3 std::strings (offsets 0x14, 0x2c, 0x44). Copies param_7-param_9 as C-strings, stores param_2-param_6 as integers.
0x00613180182CReputeGroupEntry__default_ctorDefault constructor for CReputeGroupEntry. Initializes 5 int fields to zero (offsets 0-0x10) and 3 empty std::strings at offsets 0x14, 0x2c, and 0x44 (each with length=0, capacity=0xf).
0x00613360301CReputeData__clear_all_groupsClears all reputation group data. Iterates the groups vector (offsets 0x34/0x38), for each group destroys its sub-entries vector (offset 0x48/0x4c, each sub-entry is 0x5c bytes with 3 strings), then destroys the group's own vector and 2 strings (0x54 bytes total). Finally deallocates the groups vector itself and the outer strings.
0x0061AD7016secure_memsetThin wrapper around memset. Used for secure memory zeroing of sensitive data like crypto keys and buffers.
0x0061C2C02170keccak_f1600_permutationKeccak-f[1600] permutation - the core of SHA-3. Operates on 25 64-bit words (50 uint32s) representing the 5x5x64 state. Runs 24 rounds with theta (column parity), rho (rotation), pi (lane permutation), chi (nonlinear), and iota (round constant XOR) steps. XORs input block into state before permuting if data pointer provided.
0x0061D5B01noop_stubEmpty no-op stub, 1 byte (just ret). Likely a placeholder or stripped Themida callback.
0x0061F4301identity_return_ecx_0061f430Identity function that returns its input parameter unchanged
0x0063102066~_TimerTimer destructor. Cleans up timer resources.
0x00635990219CrashHandler__ctorCrashHandler constructor. Sets vtable, stores instance param, gets module filename, extracts exe name for crash report naming, sets unhandled exception filter to generate_crash_report, installs invalid parameter and purecall handlers.
0x00635AB0342CrashHandler__create_singletonCreates CrashHandler singleton. Allocates instance if not already created, sets vtable, gets module filename, extracts exe name, installs unhandled exception filter and purecall/invalid parameter handlers. Returns 1 on success, 0 if already exists or allocation fails.
0x00635C1027CrashHandler__destroy_singletonDestroys CrashHandler singleton. Calls scalar deleting destructor on the global instance and sets pointer to null.
0x00635C30384CrashHandler__dialog_procDialog procedure for crash report dialog
0x00635DB079CrashHandler__enum_modules_callbackCallback for EnumerateLoadedModules in crash report
0x00635E00132CrashHandler__invalid_parameter_handlerCRT invalid parameter handler. Captures context, builds fake exception record with code STATUS_INVALID_PARAMETER (0xC000000D), calls generate_crash_report, then aborts.
0x00635E90107CrashHandler__purecall_handlerPure virtual call handler. Captures context, builds fake exception record with code STATUS_NONCONTINUABLE_EXCEPTION (0xC0000025), calls generate_crash_report, then aborts.
0x00635F002221CrashHandler__generate_crash_reportGenerates full crash report: stack walk, registers, memory, dialog
0x006367B0254CReportPacketEvent__ctorCreates network packet with crash report data and metadata
0x006368B0106CReportPacketEvent__dtorCReportPacketEvent destructor. Resets vtable, frees the allocated packet data buffer, then sets base CUIEventBase vtable.
0x00636930127CReportPacketEvent__scalar_deleting_dtorCReportPacketEvent scalar deleting destructor. Resets vtable, frees packet data buffer, sets base vtable, optionally frees 0x40 byte object.
0x006369B036CUIEventBase__scalar_deleting_dtorCUIEventBase scalar deleting destructor. Sets base vtable, optionally frees 0x30 byte object.
0x006369E0375CReportPacketEvent__send_chunkFormats crash report and sends via network
0x00636B60109CTimedUIEvent__ctorCTimedUIEvent constructor. Increments global event counter, initializes base CUIEventBase with event type 5, sets own vtable.
0x00636BD072CTimedUIEvent__dtorCTimedUIEvent destructor. Resets vtable to own class then to base CUIEventBase.
0x00636C2097CTimedUIEvent__scalar_deleting_dtorCTimedUIEvent scalar deleting destructor. Resets vtables then optionally frees memory (0x30 bytes).
0x00636C90143CTimedUIEvent__on_tickCTimedUIEvent tick handler. Updates base time, processes expired emotion timers, updates emotion shop grid if active, checks minimum priority time remaining and schedules next tick or marks event complete.
0x00636D20109CEmotionItemTimerEvent__ctorCEmotionItemTimerEvent constructor. Increments global event counter, initializes base CUIEventBase with event type 7, sets own vtable.
0x00636D9072CEmotionItemTimerEvent__dtorCEmotionItemTimerEvent destructor. Resets vtable to own class then to base CUIEventBase.
0x00636DE097CEmotionItemTimerEvent__scalar_deleting_dtorCEmotionItemTimerEvent scalar deleting destructor. Resets vtables then optionally frees 0x30 byte object.
0x00636E5037CEmotionItemTimerEvent__on_tickCEmotionItemTimerEvent tick handler. Updates base time, checks if expired item timers remain. If none left, marks event complete.
0x00636E80109CUIEventType6__ctorCUIEventType6 constructor. Increments global event counter, initializes base CUIEventBase with event type 6, sets own vtable.
0x00636EF072CUIEventType6__dtorCUIEventType6 destructor. Resets vtable to own class then to base CUIEventBase.
0x00636F4097CUIEventType6__scalar_deleting_dtorCUIEventType6 scalar deleting destructor. Resets vtables then optionally frees 0x30 byte object.
0x00636FB0156CUIEventType6__on_tickCUIEventType6 tick handler. Updates base time, builds visible emotion item list, updates shop grid and purchase state if active, checks timing for next scheduled tick or marks event complete.
0x006370551CTimerState__init_fieldsInitializes timer state fields to zero, sets initial timeout to 500ms
0x006370D036CMouseTracker__scalar_deleting_dtorCMouseTracker scalar deleting destructor. Sets vtable, optionally frees 0x40 byte object.
0x00637100218CMouseTracker__update_stateCMouseTracker state update. Computes position deltas from previous frame, uses timeGetTime for timing. Updates two tracking entries with state transitions: 0=idle, 1=timeout, 2=active, 3=started, 4=interrupted. Shifts pending state into current.
0x006371E022CMouseTracker__resetCMouseTracker reset. Clears tracking state and pending flags to zero.
0x0063720051CMouseTracker__init_screen_centerCMouseTracker screen center init. Gets render device width and height, stores half-values as screen center coordinates for both current and previous position fields.
0x0063724016CMouseTracker__set_x_positionCMouseTracker: sets both current and previous X position to the given value (resets delta to zero).
0x0063A780106CStoveSDK__on_callback_resultStove PCSDK callback handler. Copies a CallbackResult from stack, then dispatches to CFmt__format_int64_handler for logging/formatting the result.
0x0063A7F0111CStoveSDK__on_callback_dispatch_termsStove PCSDK callback dispatcher for terms agreement. Copies CallbackResult from stack, dispatches to CStoveSDK__on_terms_agreement_result for processing.
0x0063A860111CStoveSDK__on_callback_dispatch_productsStove PCSDK callback dispatcher for product fetch. Copies CallbackResult from stack, dispatches to CStoveSDK__on_fetch_all_products_result for processing.
0x0063A8D0111CStoveSDK__on_callback_dispatch_category_productsStove PCSDK callback dispatcher for category product fetch. Copies CallbackResult from stack, dispatches to CStoveSDK__on_fetch_products_result for processing.
0x0063A940143CStoveSDK__on_purchase_resultStove PCSDK IAP purchase result callback. Copies StovePCPurchaseResult and CallbackResult from stack, then dispatches to StoveIAP__on_purchase_result_callback to handle the purchase completion event.
0x0063A9D0120CStoveSDK__on_callback_dispatch_confirm_purchaseStove PCSDK callback dispatcher for purchase confirmation. Copies CallbackResult from stack (with extra float/double data), dispatches to CStoveSDK__on_fetch_products_for_shop for processing.
0x0063AA50143CStoveSDK__on_callback_dispatch_shutdownStove PCSDK callback dispatcher for shutdown. Copies StovePCShutdown and CallbackResult from stack, dispatches to CStoveSDK__on_shutdown_result for processing.
0x0063AAE0215CStoveSDK__ctorConstructor for CStoveSDK wrapper. Sets vtable (two-phase: scalar_deleting_dtor then CFmt__format_bool_handler). Initializes fields: enabled flag, string buffers, memsets 0x288 bytes of callback/handler storage. Calls CFmt__format_custom_handler for initial config setup.
0x0063ABD067CStoveSDK__delete_callback_nodeDeletes a single callback node. Frees the heap allocation at +4 (size 0x28). Simple node cleanup without string members.
0x0063AC2070CStoveSDK__delete_handler_nodeDeletes a single handler node. Frees the heap allocation at +4 (size 0x100). Larger node with extended data.
0x0063AC70113CStoveSDK__delete_callback_node_with_stringDeletes a callback node that contains an STL string member. Destroys the string via STL_string_dtor, then frees the 0x28-byte node.
0x0063ACF0133CStoveSDK__delete_handler_node_with_stringsDeletes a handler node that contains two STL string members. Destroys both strings, then frees the 0x100-byte node.
0x0063AD80131CStoveSDK__destroy_callback_listDestroys an entire linked list of callback nodes. Walks the linked list (each node has next pointer at [0]), destroys string member and frees each 0x28-byte node. Finally frees the list head node.
0x0063AE10208CStoveSDK__dtorDestructor for CStoveSDK. Calls IAP_UnInitialize and Base_UnInitialize to shut down Stove SDK subsystems. Checks Result::IsSuccessful on each. Destroys wstring and string members, restores vtable to base scalar_deleting_dtor.
0x0063AEE065CStoveSDK__cleanupCleanup wrapper for CStoveSDK. Calls destroy_callback_list to free all registered callback nodes, then performs final cleanup.
0x0063AF301392CStoveSDK__on_shutdown_resultStove PCSDK shutdown callback handler. On success: checks access token (shows MessageBox if null, or shows tooltip/chat message if in-game), decrypts category1 string. On failure: decrypts error message, shows MessageBox, calls PostQuitMessage(0) to terminate.
0x0063B4B01423CStoveSDK__on_fetch_products_resultStove PCSDK fetch products callback. On success: iterates StovePCProduct array, extracts display number/product ID/price/purchase limits/sale dates. Populates shop item list. On failure: decrypts error string, shows MessageBox.
0x0063BA40835StoveIAP__on_purchase_result_callbackStove IAP purchase callback: on success stores product/category IDs; on failure shows MessageBox with decrypted error title
0x0063BD903983CStoveSDK__on_fetch_all_products_resultStove PCSDK fetch all products callback. On success: iterates StovePCProduct array, maps category IDs to indices (0-8 for mode 2, different set for mode 1). Extracts product details (price, limits, dates). On failure: decrypts error, shows MessageBox.
0x0063CD20572CStoveSDK__on_terms_agreement_resultStove PCSDK terms agreement callback. On success: dispatches virtual method 0x143 via game mode object. On failure: converts wide string to multibyte, decrypts "open" verb, calls ShellExecuteA to open URL.
0x0063CF60252CStoveSDK__get_tls_encrypted_string_100aReturns pointer to TLS-stored 100-byte encrypted string buffer (offset 0x1b28). Initializes from encrypted ROM data on first call, registers TLS destructor. Used by CStoveSDK__get_access_token for error messages.
0x0063D060252CStoveSDK__get_tls_encrypted_string_100bReturns pointer to TLS-stored 100-byte encrypted string buffer (offset 0x1e70). Initializes from encrypted ROM data on first call, registers TLS destructor. Used by CStoveSDK__get_user_info for error messages.
0x0063D160252CStoveSDK__get_tls_encrypted_string_100cReturns pointer to TLS-stored 100-byte encrypted string buffer (offset 0x1ef8). Initializes from encrypted ROM data on first call, registers TLS destructor. Used by CStoveSDK__on_shutdown_result for error messages.
0x0063D260558CStoveSDK__on_init_errorStove PCSDK initialization error handler. Checks CallbackResult; if NOT successful, decrypts error title/body from TLS, shows MessageBox with formatted error, calls PostQuitMessage(0) to terminate the client.
0x0063D490305CStoveSDK__get_tls_encrypted_string_129Returns pointer to TLS-stored 129-byte encrypted string buffer (offset 0x1d78). Initializes from encrypted ROM data on first call, registers TLS destructor. Used by CStoveSDK__start_purchase for URL strings.
0x0063D5D01158CStoveSDK__on_fetch_products_for_shopStove IAP shop products callback. On success: if mode flag is set, fetches product categories (base + per-server category), polls Base_RunCallback in loop. Opens shop window via virtual call 0x7a + 0x17. On failure: decrypts error, shows MessageBox.
0x0063DA90232CStoveSDK__scalar_deleting_dtorScalar deleting destructor for CStoveSDK. Calls IAP_UnInitialize and Base_UnInitialize if SDK was initialized (flag at +4). Destroys wstring and string members. Frees object (0x2D0 bytes) if bit 0 of param is set.
0x0063DB80188CStoveSDK__add_shop_item_to_categoryAdds a shop item to one of 11 category lists (indexed 0-10) at offset +0x1784 in CStoveSDK. Allocates 0x100-byte node, copies shop item data via CShopItem__copy_construct, inserts into linked list. Bounds-checks category index < 11.
0x0063DC501688CStoveSDK__initializeInitializes the Stove PCSDK. Detects environment (sandbox/live) from command line args. Sets application key and environment. Calls Base_RestartAppIfNecessary, Base_Initialize, IAP_Initialize. On success: gets user info and registers shutdown callback. On failure: shows error MessageBox.
0x0063E2F0158CStoveSDK__uninitializeUninitializes the Stove PCSDK. Calls IAP_UnInitialize then Base_UnInitialize, checking IsSuccessful on each result. Clears the initialized flag at +4.
0x0063E390874CStoveSDK__get_access_tokenRetrieves access token from Stove PCSDK via Base_GetAccessToken. Converts from wchar to multibyte string, copies to buffer at param+0x30 (max 600 bytes). On failure: shows error MessageBox, calls PostQuitMessage(0).
0x0063E700499CStoveSDK__get_user_infoGets user info from Stove PCSDK. Creates StovePCUser, calls Base_GetUser. On success: formats member number and game user ID as strings at +0x288 and +0x2A0 (18 chars each). On failure: shows error MessageBox, calls PostQuitMessage(0).
0x0063E9005Base_RunCallbackSteam API base callback runner stub.
0x0063E910203CStoveSDK__fetch_products_by_categoryFetches products by category from Stove IAP. Clears category list index 9, sets up StovePCFetchProductParam with appropriate category ID based on mode (mode 2 vs other). Calls IAP_FetchProducts with on_callback_dispatch_category_products callback, then polls Base_RunCallback until completion.
0x0063E9E01272CStoveSDK__start_purchaseStarts an IAP purchase via Stove PCSDK. Creates StovePCStartPurchaseParam, populates order products from input vector (product IDs, charge types, display values). Sets payment option, calls IAP_StartPurchase. After purchase completes: either opens ShellExecuteA URLs or shows confirmation dialog and calls IAP_ConfirmPurchase.
0x0063EEE0321CStoveSDK__fetch_all_productsFetches all products from Stove IAP. First fetches base category products (category ID from ROM), then fetches per-server category products (based on mode 2 vs other). Polls Base_RunCallback between each fetch. Clears category list 9 between fetches.
0x0063F03090CStoveSDK__fetch_terms_agreementFetches terms agreement from Stove IAP. Creates StovePCTermsOption, sets payment operation to 0, calls IAP_FetchTermsAgreement with on_callback_dispatch_terms callback. Polls Base_RunCallback until completion flag clears.
0x0063F09039CStoveSDK__wait_for_callbackWaits for a Stove PCSDK callback to complete. Sets DAT_0138be90 flag to 1, then loops calling Base_RunCallback + Sleep(200ms) until the flag is cleared by the callback handler.
0x0063F0C075CStoveSDK__find_item_in_tree_lower_boundRB-tree lower_bound search for shop item collection. Walks the red-black tree from root, comparing key against param_3 value. Returns iterator pointing to first element not less than key. Used for shop item lookup by category.
0x0063F11075CStoveSDK__find_item_in_tree_upper_boundRB-tree upper_bound search for shop item collection. Walks the red-black tree from root, comparing key against param_3 value. Returns iterator pointing to first element greater than key. Used for shop item lookup by category.
0x0063F16067CStoveSDK__delete_purchase_param_nodeDeletes a purchase param node. Frees the heap allocation at +4 (0x4C bytes). Used to clean up StovePCFetchProductParam-related nodes.
0x0063F1B067CStoveSDK__delete_product_nodeDeletes a product node. Frees the heap allocation at +4 (0x1C bytes). Used to clean up StovePCProduct-related nodes.
0x0063F20078CStoveSDK__delete_purchase_param_node_with_stringDeletes a purchase param node that contains an STL string member. Destroys the string via STL_string_dtor, then frees the 0x4C-byte node.
0x0063F25078CStoveSDK__delete_product_node_with_stringDeletes a product node that contains an STL string member. Destroys the string via STL_string_dtor, then frees the 0x1C-byte node.
0x006473971bad_instruction_data_00647397Invalid/misaligned code fragment - likely data misidentified as a call target
0x0065424028stub_654240Themida VM protection stub: performs obfuscated no-op operations and returns
0x00654BB055hash_murmur3_finalizerMurmur3 hash finalization step with bit mixing
0x00654EF01CProgressBar__check_progress_exceeds_thresholdChecks if progress bar ratio (current+1)/total exceeds threshold value at field[0]
0x006553C0132_Rehash_for_1Rehashes an unordered container to ensure at least one bucket is available for insertion.
0x006554501swap_field4_and_clearSwap field4 and clear
0x00655DE056_Fnv1a_append_value<>Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime.
0x00655E2058fnv1a_hash_4bytesFNV-1a hash of 4 bytes with basis 0x811c9dc5 and prime 0x1000193
0x00655E60153prng_modulo_0x7fffffabComputes param * 0x9c4e modulo prime 0x7fffffab for LCG PRNG step
0x00656B6094MersenneTwister__init_with_seedMT19937 PRNG init: fills 624-element state array from seed
0x00656C701stub_nop_00656c70Empty stub function, no operation
0x00656CE71CPacketSession__ctor_init_buffersConstructor for packet session: initializes 3 memset-zeroed 0x35-byte buffers, 6 pairs of 8-byte fields, and calls PacketCrypto init
0x00656DB71CPacketSession__dtor_cleanupCPacketSession: dtor cleanup
0x006576401stub_nop_00657640Empty stub function, no operation
0x006579A0172shared_ptr__move_assignMove-assigns shared_ptr, decrements old refcount, deletes if zero
0x00657A50339SubtractWithCarry__generate_boundedSubtractWithCarry: generate bounded
0x00657BB0115SubtractWithCarry__generate_next_valueSubtract-with-carry PRNG: generates next value from state array. Uses lag indices (r=48, s=10) with borrow bit at offset 0x31. Wraps index at 0x30 (48).
0x00657C30157prng_modulo_0x7fffffab_inplaceComputes *param * 0x9c4e mod 0x7fffffab in-place for LCG step
0x0065A440265MersenneTwister__generate_32bitGenerates full 32-bit random value by collecting bits from PRNG
0x0065AA00104idea_cipher_modular_inverseComputes multiplicative inverse mod 65537 for IDEA cipher
0x00662C1087CPacketQueue__seh_cleanup_destroy_string_vector_and_stringSEH cleanup handler: destroys a string vector via CFmt__destroy_string_vector then destructs one STL string
0x00662C7086CPacketQueue__seh_cleanup_two_stringsSEH cleanup handler: destructs two STL strings in sequence
0x00662CD068CPacketQueue__seh_cleanup_destroy_string_vectorSEH cleanup handler: destroys a string vector via CFmt__destroy_string_vector
0x00662D2099CPacketQueue__seh_cleanup_string_vector_and_two_stringsSEH cleanup handler: destroys a string vector then destructs two STL strings
0x00662D9099CPacketQueue__seh_cleanup_erase_tree_44byteSEH cleanup handler: erases all nodes from an RB-tree with 0x44-byte nodes, then frees the sentinel node
0x00662E00130CPacketQueue__seh_cleanup_erase_tree_and_stringsSEH cleanup handler: erases RB-tree nodes (0x38-byte, string-keyed) at offset +0x34, frees sentinel, then destructs two STL strings
0x00662E9068CPacketQueue__seh_cleanup_string_dtorSEH cleanup handler: destructs a single STL string
0x00662EE0117CPacketQueue__seh_cleanup_erase_2string_tree_and_stringSEH cleanup handler: erases RB-tree with 2-string 0x44-byte nodes at offset +0x18, frees sentinel, then destructs one STL string
0x00662F6084CPacketQueue__seh_cleanup_clear_list_and_deleteSEH cleanup handler: clears a list of string vector nodes (0x34-byte) then frees the list head
0x00662FC099CPacketQueue__seh_cleanup_erase_2string_vector_treeSEH cleanup handler: erases RB-tree with 2-string+vector 0x60-byte nodes, then frees the sentinel node
0x00663030253CPacketQueue__tree_find_or_insert_2string_vector_nodeLooks up int key in RB-tree via lower_bound. If not found, allocates a new 0x60-byte node with int key + 2 strings + vector, inserts it. Returns pointer to value area (node+0x14).
0x00663130285CPacketQueue__tree_find_or_insert_nested_tree_44Looks up int key in RB-tree via lower_bound. If not found, allocates 0x1c-byte node containing int key + nested RB-tree (0x44-byte sentinel), inserts it. Returns pointer to value area (node+0x14).
0x00663250285CPacketQueue__tree_find_or_insert_nested_tree_60Looks up int key in RB-tree via lower_bound. If not found, allocates 0x1c-byte node containing int key + nested RB-tree (0x60-byte sentinel), inserts it. Returns pointer to value area (node+0x14).
0x006676D01identity_return_ecx_006676d0Identity function that returns its input parameter unchanged
0x00673C1058phmap_deallocate_16byteDeallocates memory for 16-byte elements (param_2 * 16 bytes). Handles aligned allocation bookkeeping for blocks >0xFFF.
0x0067400021fmt__custom_format_wrapper{fmt} library: Wrapper that forwards to a custom type formatter. Used as a function pointer in format arg descriptors (type code 0xD0000000).
0x00674020152fmt__format_arg_store_move_ctor{fmt} library: Move constructor for format_arg_store. Moves a string (SSO buffer) from param_3 and initializes a second empty string member.
0x006740C0198fmt__format_arg_store_move_ctor_with_tree{fmt} library: Move constructor for format_arg_store with an additional RB-tree (named args map). Moves string + tree from source, allocates new sentinel node for tree.
0x0067419091fmt__format_string_concat_wrapper{fmt} library: SEH-wrapped call to STL_string_concat. Concatenates two format strings within an exception frame.
0x006741F0155fmt__format_arg_store_from_string{fmt} library: Constructs a format_arg_store from a string argument. Extracts the string (handles SSO), calls json__string_insert_at to process it, then move-constructs the result.
0x00674820147fmt__named_arg_node_dtor{fmt} named arg node destructor. Destroys a 3-element struct array via eh_vector_destructor_iterator, destroys a string, calls sub-destructor at 006773a0, then frees 0x104 bytes.
0x006748C0330fmt__set_presentation_type{fmt} library: Validates and sets the presentation type character for a format spec. Maps characters (d/x/o/b/e/f/g/a/s/c/p) to internal type codes, validates compatibility with the arg type, throws on invalid combinations.
0x00674AE0317fmt__parse_precision{fmt} library: Parses precision from format string. Handles both static precision (digit sequence) and dynamic precision ({index} or {} auto-index). Validates precision is allowed for the arg type. Throws on invalid format.
0x00674C20568fmt__parse_format_specs{fmt} library: Main format spec parser. Parses fill character, alignment (<>^), sign (+- space), # flag, 0-padding, width, precision, L locale flag, and presentation type from a format string. Extensive validation with error messages.
0x00674E60324fmt__parse_width{fmt} library: Parses width from format string. Handles static width (digit sequence), dynamic width ({index} or {} auto-index). Validates and stores width value. Throws on invalid format or index overflow.
0x006750E077fmt__named_arg_list_find_by_namefmt: named arg list find by name
0x00675130159fmt__format_int_with_2_args{fmt} library: Formats output with 2 args (1 value + 1 short). Builds a format descriptor array and calls charconv__format_fixed_notation.
0x006751D0175fmt__format_int_with_3_args{fmt} library: Formats output with 3 args (1 value + 2 shorts). Builds a format descriptor array and calls charconv__format_fixed_notation.
0x00675280180fmt__format_custom_with_3_args{fmt} library: Formats output with 3 args including a custom type formatter (type code 0xD0000000). Includes function pointer to fmt__custom_format_wrapper plus 2 short params.
0x00675340163fmt__format_custom_with_2_args{fmt} library: Formats output with 2 args including a custom type formatter (type code 0xD0000000). Includes function pointer to fmt__custom_format_wrapper plus 1 value param.
0x006753F0223fmt__format_int_with_6_args{fmt} library: Formats output with 6 args (1 value + 5 shorts). Builds a large format descriptor array and calls charconv__format_fixed_notation.
0x006754D064fmt__make_format_arg_1_short{fmt} library: Constructs a format arg descriptor for 1 argument (value + 1 short). Sets type codes (0xB0000000 for value, 0x10000000 for int).
0x0067551096fmt__make_format_arg_2_shorts{fmt} library: Constructs a format arg descriptor for 2 arguments (value + 2 shorts). Sets type codes (0xB0000000 for value, 0x10000000 for ints).
0x00675570192fmt__make_format_arg_5_shorts{fmt} library: Constructs a format arg descriptor for 6 arguments (value + 5 shorts). Sets type codes for each argument slot.
0x0067563062fmt__make_format_arg_custom_1_value{fmt} library: Constructs a format arg descriptor with a custom type formatter (0xD0000000) + 1 value param (0xB0000000). Stores function pointer to fmt__custom_format_wrapper.
0x0067567097fmt__make_format_arg_custom_2_shorts{fmt} library: Constructs a format arg descriptor with a custom type formatter (0xD0000000) + 2 short params (0x10000000). Stores function pointer to fmt__custom_format_wrapper.
0x006776E0395fmt__parse_and_validate_format_specParses a {fmt} format specification string. Calls fmt__parse_format_specs to extract width/precision/fill/alignment, validates closing '}', resolves dynamic width and precision args via charconv__locale_facet_dispatch, then formats the final output using charconv__parse_format_spec_full.
0x00684F301identity_return_ecx_00684f30Identity function that returns its input parameter unchanged
0x00684F401identity_return_ecx_00684f40Identity function that returns its input parameter unchanged
0x0068D5B01identity_return_ecx_0068d5b0Identity function that returns its input parameter unchanged
0x0068D5C01identity_return_ecx_0068d5c0Identity function that returns its input parameter unchanged
0x0069ACB01identity_return_ecx_0069acb0Identity function that returns its input parameter unchanged
0x0069ACC01identity_return_ecx_0069acc0Identity function that returns its input parameter unchanged
0x0069C7D060operator()FNV-1a hash function call operator for unsigned long. Hashes 4 bytes using the standard FNV-1a algorithm with basis 0x811c9dc5 and prime 0x1000193.
0x0069C810108fnv1a_hash_8bytesFNV-1a hash function for 8-byte input. Processes each byte sequentially with XOR and multiply by FNV prime 0x1000193, starting from FNV offset basis 0x811c9dc5.
0x0069C880253CLuaTableReader__read_int_array_from_fieldReads an array of integers from a named Lua table field. Gets field by name, iterates table with lua_next, converts each number value to int and pushes to a vector. Returns 0=success, 1=nil, 2=type error, 3=no table on stack.
0x0069C980120CLuaTableReader__read_int64_from_fieldReads a single int64 value from a named Lua table field. Gets field by name, converts number to int64 via crt_long_double_to_int64. Returns 0=success, 1=nil, 2=wrong type, 3=no table on stack.
0x0069CA00258CLuaTableReader__read_uint_array_from_fieldReads an array of unsigned ints from a named Lua table field. Gets field by name, iterates table with lua_next, converts each number to uint32 and pushes to a vector. Returns 0=success, 1=nil, 2=type error, 3=no table on stack.
0x0069CB10137CLuaTableReader__read_string_from_fieldReads a string value from a named Lua table field. Gets field by name, converts to C string via lua_tolstring, computes length, assigns to STL string. Returns 0=success, 1=nil, 2=wrong type, 3=no table on stack.
0x0069CBA0503CLuaTableReader__read_string_array_from_fieldReads an array of strings from a named Lua table field. Gets field by name, iterates table with lua_next, converts each string value and pushes 24-byte string elements to a vector. Returns 0=success, 1=nil, 2=type error, 3=no table on stack.
0x0069CDA0240CLuaTableReader__read_int_map_from_fieldReads a Lua table as an int-to-int map. Uses pushstring+gettable to access field, iterates key-value pairs where both key and value are numbers, inserts into a std::map via CEntity__map_insert_or_get_layer_priority. Returns 0=success, 1=nil, 2=type error.
0x0069CE90516CLuaTableReader__read_uint_map_from_fieldReads a Lua table as a uint-to-uint map stored in a red-black tree. Uses pushstring+gettable to access field, iterates key-value pairs converting both to uint32, inserts into RB-tree with 0x18-byte nodes. Throws if map exceeds 0xAAAAAAA entries.
0x0069D0A0729CLuaTableReader__read_uint_string_map_from_fieldReads a Lua table as a uint-to-string map stored in a red-black tree. Uses pushstring+gettable to access field, iterates key-value pairs converting key to uint32 and value to string, inserts into RB-tree with 0x2c-byte nodes containing embedded STL strings.
0x0069D38071CLuaTableReader__read_int32_at_indexReads a number from the Lua stack at the given index and converts to int32 via float_to_int32. Returns 0=success, 1=nil, 2=wrong type (not a number).
0x0069D3D071CLuaTableReader__read_int64_at_indexReads a number from the Lua stack at the given index and converts to int64 via crt_long_double_to_int64. Returns 0=success, 1=nil, 2=wrong type (not a number).
0x006BA3901identity_return_ecx_006ba390Identity function that returns its input parameter unchanged
0x006BAF70132_Rehash_for_1Rehashes an unordered container to ensure at least one bucket is available for insertion.
0x006BB000132_Rehash_for_1Rehashes an unordered container to ensure at least one bucket is available for insertion.
0x006BB090132_Rehash_for_1Rehashes an unordered container to ensure at least one bucket is available for insertion.
0x006BF7708GameSettings__has_dataReturns true if GameSettings object has data loaded (field at offset 0x40 != 0)
0x006BF7A0117GameSettings__destroy_option_entriesDestroys option entries in range [param_1, param_2), each 100 bytes, calling 3 string dtors per entry
0x006BF89056_Fnv1a_append_value<>Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime.
0x006BF8D058fnv1a_hash_4byteFNV-1a hash of 4 bytes: seed 0x811c9dc5, multiplier 0x1000193
0x006BF910504GameSettings__resize_option_vectorResizes the option entries vector, constructing new entries with default values (100 bytes each)
0x006BFB10530GameSettings__find_or_insert_optionFinds option entry by ID in the option hash map, inserts new entry if not found
0x006BFD3015GameSettings__get_type_name_by_indexReturns pointer to type name string from PTR_s_TT_NORMAL table by index
0x006BFDB097GameSettings__find_type_index_by_nameSearches PTR_s_TT_NORMAL table for matching name string, returns index (max 300)
0x006BFE60330GameSettings__constructorConstructs GameSettings object with vtable, json state, two hash maps and option vector
0x006BFFB0295GameSettings__OptionEntry__move_constructMove-constructs an OptionEntry (100 bytes) transferring 3 strings and numeric fields from source
0x006C00E0179GameSettings__OptionEntry__default_constructDefault-constructs OptionEntry: type=300, 3 empty strings, default tick values 0x125a
0x006C025033GameSettings__release_callback_006c0250Releases callback object at offset 0x24 by calling its vtable destroy method and nulling pointer
0x006C028033GameSettings__release_callback_006c0280Releases callback object at offset 0x24 by calling its vtable destroy method and nulling pointer
0x006C02B087GameSettings__clear_vector_and_map_AClears the option vector and destroys hash map A of GameSettings
0x006C031087GameSettings__clear_vector_and_map_BClears the option vector and destroys hash map B of GameSettings
0x006C055092GameSettings__release_callback_safe_006c0550Releases callback at offset 0x24 with SEH protection, calls vtable destroy and nulls pointer
0x006C05B092GameSettings__release_callback_safe_006c05b0Releases callback at offset 0x24 with SEH protection, calls vtable destroy and nulls pointer
0x006C0610170GameSettings__destroy_callback_map_AWalks linked list freeing 0x38 byte nodes with callback release at offset 0xd, then frees sentinel
0x006C06C0170GameSettings__destroy_callback_map_BWalks linked list freeing 0x38 byte nodes with callback release at offset 0xd, then frees sentinel
0x006C07E087GameSettings__clear_vector_and_map_CClears option vector buffer and destroys callback map C of GameSettings
0x006C084087GameSettings__clear_vector_and_map_DClears option vector buffer and destroys callback map D of GameSettings
0x006C08A0163GameSettings__destroy_option_vectorDestroys all option entries in vector (100 bytes each), frees backing buffer, zeroes pointers
0x006C0950165GameSettings__destructorGameSettings destructor: sets vtable, destroys vectors, maps, callback maps, and json state
0x006C0A0099GameSettings__OptionEntry__destructorDestructor for a single OptionEntry: destroys 3 embedded strings
0x006C0A70190GameSettings__clear_umap_if_presentClears unordered_map pointed to by param_1 if non-null and has elements, frees 0x10 byte nodes
0x006C0B6030GameSettings__scalar_deleting_dtor_4byteScalar deleting destructor: frees 4-byte object if flag bit 0 is set
0x006C0B80186GameSettings__scalar_deleting_destructorGameSettings scalar deleting destructor: runs full destructor then frees 0x58 byte object
0x006C0C40394GameSettings__apply_option_changeApplies an option change: looks up by ID in option vector, finds handler in hash map, calls callback
0x006C0DD0304GameSettings__apply_option_change_2Applies option change with different parameter layout from apply_option_change
0x006C0F00301GameSettings__resolve_option_from_stringParses a config string to resolve an option type ID and enabled state. Returns struct with type (default 3) and enabled byte. Uses FNV-1a hash lookup in the option map.
0x006C103052GameSettings__get_option_ptrReturns pointer to option entry in the option vector by computed offset
0x006C1070268GameSettings__collect_option_ids_by_typeIterates option vector, collects all option IDs (field[0]) where field[1] matches param_3 type into a newly allocated linked list. Returns list in param_2.
0x006C11801559GameSettings__init_from_luaInitializes GameSettings from Lua: registers EFFECT/CONTROL/ALL/RES keys, loads type table, registers callbacks, parses OptionTbl
0x006C17A0116GameSettings__get_option_stateFinds option by uint key in hash map, returns enabled state byte at offset 0xc, or 0 if not found
0x006C182038GameSettings__is_invertible_typeReturns 1 for option types 0x6a,0x6b,0x6c,0xe7,0x10d (invertible), else 0
0x006C1900193GameSettings__update_option_stateUpdates option state: finds entry by ID in vector, compares with hash result, writes enabled flag
0x006C19D02963GameSettings__parse_option_table_luaParses OptionTbl from Lua: reads type/subtype/invert/name/tooltip/desc per entry, validates, stores to option vector
0x006C2610438GameSettings__apply_all_optionsIterates all option entries in vector, applies each via handler lookup and callback invocation
0x006C27D0459GameSettings__apply_options_filteredIterates option entries and applies changes based on filter criteria
0x006C29A0215GameSettings__set_option_from_config_stringParses config string to resolve option type, then sets the enabled state (param_2) on the matching option entry. Returns 3 if string is null/empty or option not found.
0x006C2A80141GameSettings__set_option_enabledSets option enabled state by ID: finds/inserts in hash map, writes byte at node offset 0xc
0x006C2DB022GameSettings__destroy_option_entries_thunkThunk: forwards to GameSettings__destroy_option_entries with swapped this/range params
0x006C2F803identity_returnIdentity function: returns param_1 unchanged
0x006C2F90142GameSettings__vector_insert_entriesInserts new option entries into the vector at specified position with move semantics
0x006C3020145GameSettings__vector_insert_entries_2Inserts option entries into vector variant with different parameter order
0x006C32B056GameSettings__free_option_bufferFrees option entries buffer: param_2 * 100 bytes with aligned deallocation
0x006C32F0166GameSettings__register_callback_simpleRegisters a simple callback function for an option type in the callback map
0x006C35E0541GameSettings__umap_emplace_callback_AEmplaces callback node into hash map A with FNV-1a hash, handles rehash on load factor exceeded
0x006C3800541GameSettings__umap_emplace_callback_BEmplaces callback node into hash map B with FNV-1a hash, handles rehash on load factor exceeded
0x006C3B00188GameSettings__format_option_value_callbackBuilds a 4-parameter descriptor array (type+offset pairs) from callback args and calls charconv__format_fixed_notation to format the option value. Called by GameSettings__option_callback_09.
0x006C3BC0125GameSettings__build_option_param_descriptorBuilds a parameter descriptor array with type markers (0xB0000000 for 4-byte, 0x10000000 for bool) and offsets for option callback parameters. Returns descriptor in param_1.
0x006C40C0226GameSettings__scroll_camera_directionScrolls camera direction by DAT_01112be8 amount, wraps rotation angle, sends action packet 0x8b
0x006C41B0108GameSettings__option_callback_e7Option callback 0xe7: Sends packet type 0x2d8 with current option state to server via CNetworkSession when setting changes. Involves CEffectManagerEx singleton.
0x006C422078GameSettings__option_callback_6cOption callback for type 0x6c: handles specific game setting change
0x006C427063GameSettings__toggle_option_and_notifyChecks if option state changed, sets new enabled state, calls notify with sound effect 0x64ffff
0x006C42B0489GameSettings__option_callback_6eOption callback 0x6e: Toggles camera perspective between 1st and 3rd person. Adjusts camera rotation angle, sends action packet 0x8b with direction. Tracks double-click timing (1500ms window) to send packet 0xa9 for quick-turn. Checks for quest 0x3a5 restriction.
0x006C44A0303GameSettings__option_callback_08Option callback 0x08: Toggles setting with sound. Checks if current map is "xmas_fild01.rsw" and applies special snow/weather effects accordingly (CEffect__extend_attached_object_lifetime when disabled, CEffect__dispatch_delayed_effect_0xa2 when enabled).
0x006C45F0101GameSettings__option_callback_f1Option callback 0xf1: Toggles setting with sound. Sets global DAT_0135f440 to DAT_010dd250 when enabled, or DAT_01112bec when disabled (likely a render distance or detail level).
0x006C466084GameSettings__option_callback_3cOption callback 0x3c: Toggles fog setting with sound, then applies fog settings via CGameMode__apply_fog_settings with the new state value.
0x006C46C0133GameSettings__option_callback_6aOption callback 0x6a: Toggles status effect visibility. If option 0x6b is also enabled, shows warning message (ID 0xbb4) in chat instead. Otherwise clears all entity status effects via CGameMode and plays toggle sound.
0x006C4750366GameSettings__option_callback_0eOption callback 0x0e: Displays help messages. Calls Lua "GetTableSizeForC" to get count, then iterates calling "getHelpMsg" for each entry, dispatching non-empty results as chat messages (type 1). Prefixed by type-3 chat clear.
0x006C48F082GameSettings__option_callback_6bOption callback 0x6b: Toggles setting with sound, then clears all entity status effects via CGameMode__clear_all_entity_status_effects(0).
0x006C49504278GameSettings__register_all_callbacksRegisters all option type callbacks into both hash maps: ~35 entries for effect, control, and misc types
0x006C5A1079GameSettings__option_callback_108Option callback 0x108: Toggles setting with sound. If UI window DAT_01457854 exists, calls CUIWindow__save_config_and_refresh_child to refresh the UI.
0x006C5A8072GameSettings__option_callback_77Option callback 0x77: Toggles setting with sound. Sets global DAT_016fda51 to inverted value (param_2 XOR 1), likely a "disable X" flag stored as inverted boolean.
0x006C5B40449GameSettings__option_callback_09Option callback 0x09: Creates a location bookmark. Gets current entity position, converts world-to-cell coordinates, builds formatted string with map name and coordinates, dispatches to chat window. Also sends to party chat (type 0x13) unless in specific mode (DAT_016d3b10 == 10).
0x006C5D1071GameSettings__option_callback_e5Option callback 0xe5: Toggles setting with sound. Stores param_2 (as byte) to global DAT_01737a8c, likely a visual effect flag.
0x006C5D6077GameSettings__option_callback_10fOption callback 0x10f: Toggles cursor lock. When enabled, clips cursor to client window rect. When disabled, removes cursor clipping via ClipCursor(NULL).
0x006C5DB055GameSettings__option_callback_efOption callback 0xef: Sends packet type 0xae8 to server via CNetworkSession with param as data. Involves CEffectManagerEx singleton for size calculation.
0x006C5DF0128GameSettings__option_callback_128Option callback 0x128: Handles save data toggle. If disabling (param_2==0), shows confirmation dialog (message 0x1104) and reverts if canceled (result 0xbc). Otherwise calls send_savedata_request_packet.
0x006C5E70336GameSettings__play_option_toggle_soundPlays option toggle feedback: resolves name from b00f00, plays sound effect via aa9100 with ID param_4
0x006C5FC093GameSettings__option_callback_10eOption callback 0x10e: Toggles setting with sound, then finds/creates UI window type 0x9f and calls its virtual method at vtable+0x38 with the new state value.
0x006C60F093GameSettings__option_callback_daOption callback 0xda: Toggles setting with sound, then finds UI window type 0xbe and calls its virtual method at vtable+0x38 with the new state value.
0x006C615093GameSettings__option_callback_dbOption callback 0xdb: Toggles setting with sound, then finds UI window type 0x10b and calls its virtual method at vtable+0x38 with the new state value.
0x006C61B074GameSettings__option_callback_faOption callback 0xfa: Toggles setting with sound, then toggles minimap visibility via CUIWindowMgr__toggle_minimap_visibility.
0x006C620096GameSettings__option_callback_dfOption callback 0xdf: Toggles setting with sound, then calls virtual method (vtable+0x94) on global DAT_01457840 with params (0, 6, 0x1f6, 0, 0, 0) if the global exists.
0x006C626093GameSettings__option_callback_dcOption callback 0xdc: Toggles setting with sound, then finds UI window type 0x10c and calls its virtual method at vtable+0x38 with the new state value.
0x006C6300117GameSettings__option_callback_c9Option callback 0xc9: Toggles setting with sound. If game mode active and field at offset 0x5d0 exists, checks option state and calls vtable+0x38 method with 0 when disabled (likely hiding a UI element).
0x006C638070GameSettings__option_callback_11Option callback 0x11: Clears repute entries via CReputeDB__clear_entries, then sends packet type 0xd0 with value 0x10000 to server via CNetworkSession (requests updated reputation data).
0x006C63D059GameSettings__option_callback_10Option callback 0x10: Sends packet type 0xd0 with value 0 to server via CNetworkSession. Simple network request trigger.
0x006C641055GameSettings__option_callback_0fOption callback 0x0f: Sends packet type 0xd3 to server via CNetworkSession with param data. Involves CEffectManagerEx singleton for size calculation.
0x006C645072GameSettings__option_callback_8dOption callback 0x8d: Toggles setting with sound, then rebuilds the effect collision tree via CGameObject__rebuild_effect_collision_tree.
0x006CB0A03203SpriteGroupMgr__register_sprite_groups_part1Registers costume/headgear sprite groups 0-0x43 with sprite IDs for body/head/garment variants
0x006CCB3016SpriteGroupMgr__register_all_sprite_groupsTop-level initializer calling both sprite group registration functions (part1 and part2)
0x006CCB40158SpriteGroupMgr__has_sprite_in_groupChecks if a sprite ID exists in group 4 or 6 of the sprite map tree
0x006CCBE0247SpriteGroupMgr__check_sprite_membershipChecks sprite membership; handles special sentinel values 0xFFFFE (group 0) and 0xFFFFF (always true)
0x006CCFA01identity_return_ecx_006ccfa0Identity function that returns its input parameter unchanged
0x006CD8B0209ItemDisplayEntry__constructConstructs ItemDisplayEntry with copied string param and 4 empty SSO strings at offsets 0x18-0x78
0x006CD990121ItemDisplayTree__destroy_nodes_recursiveRecursively destroys RB-tree nodes: calls self on children, destroys strings, frees 0x8C-byte nodes
0x006CDA10411ItemDisplayTree__find_or_insert_by_stringFinds or inserts node in string-keyed RB-tree; allocates 0x8C-byte node with ItemDisplayEntry on miss
0x006CDBB0460ItemDisplayTree__find_node_by_string_matchIterates RB-tree nodes comparing string keys via Traits_compare; returns matching node iterator
0x006CDD80171ItemDisplayTree__initInitializes ItemDisplayTree: sets vtable, allocates 0x8C sentinel node, init empty string and count=0
0x006CDE30808ItemTooltipRenderer__create_textureCreates item tooltip texture: loads sprite, creates surface, renders name/desc text lines with scaling
0x006CE16065ItemDisplayEntry__destroy_string_wrapperSEH-wrapped string destructor for ItemDisplayEntry member
0x006CE1B070ItemDisplayTree__free_sentinel_nodeFrees the 0x8C-byte sentinel/head node at this+4 if non-null
0x006CE20079ItemDisplayTree__clear_and_freeRecursively destroys all tree nodes then frees the 0x8C sentinel node
0x006CE260107ItemDisplayTree__destroy_entry_and_freeDestroys ItemDisplayEntry strings at this+4, then frees the 0x8C-byte node
0x006CE2D081ItemDisplayTree__scalar_deleter_006ce2d0Frees 0x8C-byte allocation at this+4 if non-null
0x006CE33090ItemDisplayTree__destroy_all_nodesRecursively destroys all RB-tree nodes and frees the sentinel node
0x006CE390146ItemDisplayEntry__destroy_all_stringsDestroys all 5 std::string members within an ItemDisplayEntry node
0x006CE43086ItemDisplayEntry__destroy_two_stringsDestroys 2 std::string members within an ItemDisplayEntry node
0x006CE490146ItemDisplayEntry__destroy_all_strings_006ce490Destroys all 5 std::string members within an ItemDisplayEntry node (alternate unwind path)
0x006CE530207ItemDisplayTree__destructorDestructor: sets vtable, clears tree, releases callback ref, destroys string, frees sentinel
0x006CE60025ItemDisplayTree__release_callbackReleases callback interface at this+4 by calling Release(1) if non-null
0x006CE620123ItemDisplayEntry__destroy_four_stringsDestroys 4 std::string members in ItemDisplayEntry unwind handler
0x006CE6A0228ItemDisplayTree__scalar_deleting_destructorScalar deleting destructor: calls destructor then optionally frees 0x2C-byte object
0x006CE790133ItemDisplayTree__set_node_valueFinds or creates node by string key, then copies value string into node's data field
0x006CE820160ItemDisplayTree__set_node_value_and_flagFinds/creates node by string key, sets value string at offset+0x28 and byte flag at offset+0x40
0x006CE8C0455ItemDisplayTree__set_node_two_stringsFinds/creates node by key, assigns two string values at offsets 0x44 and 0x5C with move semantics
0x006CEAA0268ItemDisplayTree__get_or_create_singletonCreates singleton ItemDisplayTree at DAT_0138d27c; allocates 0x2C-byte object with vtable and sentinel
0x006CEBB0448ItemTooltipRenderer__update_tooltipUpdates item tooltip: looks up display data, releases old texture, creates new tooltip texture
0x006CED7027ItemDisplayTree__destroy_singletonDestroys the global ItemDisplayTree singleton at DAT_0138d27c via virtual destructor
0x006CED90131ItemDisplayTree__get_display_nameLooks up item display name string; returns node value or fallback string from this+0x10
0x006CEE20314ItemDisplayTree__find_entry_by_keyFinds ItemDisplayEntry by string key, stripping trailing '@xxx' suffix; returns ptr to entry+0x28 or NULL
0x006CEF60132ItemDisplayTree__get_resource_nameLooks up item resource name at entry offset+0x34; returns fallback from this+0x10 if not found
0x006CF160292ItemTooltipRenderer__draw_tooltipRenders item tooltip with fade-out: draws sprite quad and text surface with alpha based on elapsed time
0x006CF290339ItemTooltipRenderer__draw_and_cleanupDraws item tooltip from this+0x28; cleans up and frees 0x10-byte texture object after fade timeout
0x006D04C0348CPrivateAirplaneMgr__get_or_create_singletonCreates singleton CPrivateAirplaneMgr at DAT_0138d284; allocates 0x20-byte object with 3 RB-trees (same layout as CMapInfoMgr), then loads private airplane Lua data
0x006D062027CPrivateAirplaneMgr__destroy_singletonDestroys the global CPrivateAirplaneMgr singleton at DAT_0138d284 via virtual destructor
0x006D0A00729CPrivateAirplaneMgr__load_lua_scriptsLoads private airplane data from Lua: registers InsertStartableMap/InsertEndableMap/InsertNeedItem, runs .lub
0x006D0EF0483CPrivateAirplaneMgr__lua_InsertNeedItemLua callback: InsertNeedItem(itemName, itemId) - inserts required item ID into airplane int-tree
0x006D10E0372CPrivateAirplaneMgr__lua_InsertEndableMapLua callback: InsertEndableMap(mapName) - inserts destination map into airplane string-keyed tree
0x006D1260372CPrivateAirplaneMgr__lua_InsertStartableMapLua callback: InsertStartableMap(mapName) - inserts departure map into airplane string-keyed tree
0x006D552040operator=Assignment operator. Copies string content from source to this object.
0x006DEB0038json_sscanf_doubleParses string to double using sscanf with format specifier
0x006DEC9034json_memcpy_rangeCopies memory range [src, end) to destination, returns end of destination
0x006E1C701identity_return_ecx_006e1c70Identity function that returns its input parameter unchanged
0x006E581061json_uint_to_stringConverts unsigned integer to decimal string representation in buffer
0x006E58C01501json_value_to_quoted_stringConverts C-string to JSON quoted string with escape sequences for special chars and unicode
0x006E5FB0193json_int_to_stringConverts signed integer to decimal string with optional negative sign
0x006E6080173json_uint_to_std_stringConverts unsigned integer to an std::string by calling json_uint_to_string into a local buffer, then assigning the result to the output string parameter.
0x006F9E001identity_return_ecx_006f9e00Identity function that returns its input parameter unchanged
0x006FD8C064CEffUnlimit__set_color_all_particlesIterates particle vector at 0xCC and sets RGB color on each particle
0x006FD900326CEffUnlimit__set_texture_all_particlesIterates particle vector, copies texture string and calls set_texture on each particle
0x006FDA50212CEffUnlimit__create_particlesCreates 2 particles with ra_unlimit texture at 180-degree intervals, alpha=90, scale=15.0
0x006FDB3063CEffUnlimit__destroy_all_particlesDestroys all particles in vector at 0xCC and resets end pointer to begin
0x006FDB70212CEffUnlimit__create_particles_variantCreates 2 particles with ra_unlimit texture at 180-degree intervals, identical to create_particles
0x006FDC50129CEffUnlimit__init_single_particleConfigures single particle: sets type=5, position, angle, scale, blend modes, resets matrix
0x006FDCE0170CEffUnlimit__init_all_particlesIterates particle vector and applies init_single_particle configuration to each
0x006FDDA0377CEffUnlimit__update_rotation_allUpdates all particles: wraps rotation angle at 360 degrees, builds scale+rotation+tilt matrix
0x006FDF20311CEffUnlimit__update_rotation_singleUpdates single particle: wraps rotation at 360 degrees, computes scale+rotZ+tilt transform matrix
0x006FE06083CEffUnlimit__render_all_particlesRenders all particles in vector by calling billboard render with default UV and alpha
0x006FE0C059CEffUnlimit__render_single_particleRenders single particle billboard with default UV coords and alpha=1.0
0x006FE300119CEffEvilLand__ctorConstructor: calls base effect ctor with ID 0x613, sets vtable, initializes empty particle vector
0x006FE380129CEffEvilLand__clear_particle_vectorFrees particle pointer vector buffer and zeros begin/end/capacity pointers
0x006FE41095CEffEvilLand__dtorDestructor: sets vtable, clears particle vector, calls base effect dtor
0x006FE470119CEffEvilLand__scalar_dtorScalar deleting destructor: calls dtor, optionally frees 0xD8 byte object
0x006FE4F063CEffEvilLand__destroy_all_particlesDestroys all particles in vector at 0xCC and resets end pointer to begin
0x006FE530766CEffEvilLand__create_ground_tilesCreates NxN grid of ground particles using demonground textures with computed UV atlas coordinates
0x006FE88038CEffEvilLand__update_scroll_offsetIncrements UV scroll offset at 0x324 by constant delta for animated ground texture
0x006FE8B0159CEffEvilLand__render_ground_overlay_allIterates particles, projects world to screen, renders overlay quads centered on tile grid
0x006FE950126CEffEvilLand__render_ground_overlay_singleProjects single particle world position to screen and renders overlay quad
0x006FEA20227CEffEZ2StrData__ctorConstructor: calls base ctor with ID 0x40F, sets vtable, initializes particle vector and config fields
0x006FEB10110CEffEZ2StrData__dtorDestructor: sets vtable, cleans up format data, destroys particle list, calls base dtor
0x006FEB80134CEffEZ2StrData__scalar_dtorScalar deleting destructor: calls dtor, optionally frees 0x100 byte object
0x006FEC10198CEffEZ2StrData__create_single_particleCreates one particle with white color, alpha=255, configures scale/offset/blend from effect data
0x006FECE063CEffEZ2StrData__destroy_all_particlesDestroys all particles in vector at 0xCC and resets end pointer to begin
0x006FED20546CEffEZ2StrData__create_particle_and_load_framesCreates particle with white color, then loads 2x10 animation frame texture names into string vector
0x006FEF5097CEffEZ2StrData__configure_particle_appearanceSets particle color to white, alpha=255, copies scale and position offset from effect config
0x006FEFC0146CEffEZ2StrData__reset_and_configure_allResets frame counter and duration, configures appearance for all particles in vector
0x006FF070505CEffEZ2StrData__update_all_particlesUpdates particles: sets animated texture from frame list, builds rotation matrix, applies position offset
0x006FF270367CEffEZ2StrData__update_single_particleUpdates single particle: applies animated texture, builds camera-relative rotation+scale matrix
0x006FF3E083CEffEZ2StrData__render_all_particlesRenders all particles with billboard render call, same pattern as unlimit render
0x006FF44059CEffEZ2StrData__render_single_particleRenders single particle billboard with default UV and alpha=1.0
0x006FF480120CEffNavMapEff__ctorConstructor for CEffNavMapEff: calls base CEffectAura ctor with ID -1, sets vtable 01114dc4, initializes sprite pointer and config fields to zero
0x006FF50071CEffNavMapEff__dtorDestructor for CEffNavMapEff: sets vtable 01114dc4, calls CEffectAura base destructor
0x006FF55099CEffNavMapEff__scalar_dtorScalar deleting destructor for CEffNavMapEff: calls dtor, optionally frees 0xDC byte object
0x006FF5C0372CEffEZ2StrData__transform_to_view_spaceTransforms particle position from world to camera view space using view+projection matrices
0x006FF74034CEffNavMapEff__recycle_spriteRecycles the 3D sprite at offset 0xCC back to the effect pool and sets the pointer to NULL
0x006FFA0029CEffNavMapEff__check_animation_doneChecks if animation is complete by comparing progress counter at 0x3CC4 against total at 0x3CC8; returns 1 if done, 0 otherwise
0x006FFA20462CEffNavMapEff__create_3d_spriteCreates 3D sprite for nav map effect: initializes singleton data, loads model, configures animations and blend
0x006FFC60571CEffNavMapEff__update_3d_spriteUpdates 3D sprite: handles fade, height adjustment, world-to-view transform, animation completion check
0x006FFEF030CEffNavMapEff__set_sprite_alphaSets the sprite alpha/opacity value at sprite offset 0x3FB4 if sprite exists
0x006FFF1026CEffNavMapEff__set_sprite_flag_3fe8Sets sprite config byte at offset 0x3FE8 if sprite exists
0x006FFF3026CEffNavMapEff__set_sprite_flag_3fe9Sets sprite config byte at offset 0x3FE9 if sprite exists
0x006FFF5039CEffNavMapEff__set_sprite_loop_configConfigures sprite animation loop: clears loop-once flag at 0x3F5C and sets loop-mode byte at 0x3F5D
0x006FFF9026CEffNavMapEff__set_sprite_anim_speedSets sprite animation speed/timing value at offset 0x3F98 if sprite exists
0x006FFFB030CEffNavMapEff__set_sprite_scale_xSets sprite scale X value at offset 0x3FA4 if sprite exists
0x006FFFD030CEffNavMapEff__set_sprite_scale_ySets sprite scale Y value at offset 0x3FA8 if sprite exists
0x006FFFF030CEffNavMapEff__set_sprite_scale_zSets sprite scale Z value at offset 0x3FAC if sprite exists
0x0070001030CEffNavMapEff__set_sprite_offsetSets sprite position offset value at offset 0x3FB0 if sprite exists
0x0070003050CEffNavMapEff__set_total_frames_and_recalcSets total animation frames at sprite offset 0x3FA0, recalculates duration (frames/16), and updates effect aura param
0x00701370205CEffKiss__ctorConstructor for kiss effect: calls base ctor, sets vtable, initializes particle vector and config
0x0070144095CEffKiss__dtorDestructor: sets vtable, clears particle vector, calls base effect dtor
0x007014A0119CEffKiss__scalar_dtorScalar deleting destructor: calls dtor, optionally frees object memory
0x0070152063CEffKiss__destroy_all_particlesDestroys all kiss particles and resets vector end to begin
0x00701560232CEffKiss__create_particleCreates kiss particle with kiss_bmp texture, random height offset, random rotation angle
0x00701650173CEffKiss__reinit_particleReinitializes an existing kiss particle: sets kiss_bmp texture, resets position/scale/alpha, assigns random height offset and rotation angle. Called to recycle a particle.
0x00701710535CEffKiss__update_all_particlesUpdates kiss particles: applies sin-wave wobble, builds scale+tilt+translation transform matrix
0x00701930468CEffKiss__update_single_particleUpdates single kiss particle: applies sine wobble on Y/Z, builds scale+rotation+translation matrix
0x00701B1083CEffKiss__render_all_particlesRenders all kiss particles as billboards with default UV and alpha
0x00701B7059CEffKiss__render_single_particleRenders single kiss particle billboard with default UV and alpha=1.0
0x00701BB0171CEffRingBlue__ctorConstructor for ring blue effect: calls base ctor, sets vtable, initializes particle vector and config
0x00701C6095CEffRingBlue__dtorDestructor: sets vtable, clears particle vector, calls base effect dtor
0x00701CC0119CEffRingBlue__scalar_dtorScalar deleting destructor: calls dtor, optionally frees object memory
0x00701D40408CEffRingBlue__compute_orbital_verticesComputes orbital vertex positions using sin/cos tables with rotation speed and radius parameters
0x00701EE063CEffRingBlue__destroy_all_particlesDestroys all ring particles and resets vector end to begin
0x00701F20637CEffRingBlue__create_ring_particlesCreates 22 orbital ring particles with ring_blue texture, computes initial orbital positions
0x007021C0523CEffRingBlue__reinit_single_particleReinitializes a single ring blue particle: sets alpha/color, recalculates orbital parameters (radius, speed, angle offset), recomputes vertex positions from sin/cos tables, updates trail data
0x007023E0539CEffRingBlue__update_all_particlesIterates all ring blue particles in vector, updates world position from parent, computes per-particle orbital radius decay and rotation matrix, writes transform to each particle
0x00702600412CEffRingBlue__update_single_particle_transformComputes transform matrix for a single ring blue particle: handles radius fade-in/decay phases, builds rotation-Y + scale matrix, writes 3x4 transform
0x007027A0160CEffRingBlue__render_all_particlesIterates all ring blue particles in vector, renders each with computed UV coordinates based on particle index via CEffectLayer__render_from_struct
0x00702840118CEffRingBlue__render_single_particle_innerRenders a single ring blue particle with computed UV coordinates based on particle index, calls CEffectLayer__render_from_struct
0x007028C0149CEffShinkiro__ctorConstructor for CEffShinkiro: calls base CEffectAura ctor with effect ID 0x930, sets vtable, initializes sprite pointers and direction/config fields to zero
0x0070296071CEffShinkiro__dtorDestructor for CEffShinkiro: sets vtable, calls CEffectAura__dtor_base to clean up base class
0x007029B099CEffShinkiro__scalar_dtorScalar deleting destructor for CEffShinkiro: sets vtable, calls base dtor, optionally frees 0xE4 bytes of object memory
0x00702A2063CEffShinkiro__destroy_all_particlesDestroys all shinkiro particles and resets vector end to begin
0x00702A60599CEffShinkiro__create_projectileCreates 3D sprite with SHINKIRO_SHIRANUI model, computes direction vector and screen angle to target
0x00702CD0596CEffShinkiro__update_projectileUpdates projectile: moves along direction vector, transforms to view space, increments frame counter
0x00702F3085CEffShinkiro__render_projectileRenders shinkiro 3D sprite projectile if sprite pointer exists
0x00702F9089CEffDragonKnight__ctorConstructor for Dragon Knight charging pierce effect: initializes base, vtable, particle list
0x00702FF093CEffDragonKnight__scalar_dtor_00702ff0Scalar deleting destructor for CEffDragonKnight: calls CEffectAura__dtor_base, optionally frees 0xCC bytes of object memory
0x00703060133CEffDragonKnightCharge__ctorConstructor for CEffDragonKnightCharge: calls base ctor with effect ID -1, sets vtable PTR_LAB_01115254, initializes 10 particle vector triplets (begin/end/capacity) to zero
0x007030F0127CEffDragonKnightHit__ctorConstructor for CEffDragonKnightHit: calls base ctor with effect ID -1, sets vtable PTR_LAB_011151c8, allocates and initializes a 0xC-byte linked list head node
0x0070317067CEffDragonKnightHit__destroy_list_nodeFrees a single 0xC-byte linked list node from the DragonKnightHit sprite list
0x007031C078CEffDragonKnightHit__free_list_nodeSets vtable and frees a single 0xC-byte list node; variant cleanup for DragonKnightHit
0x00703210103CEffDragonKnightHit__destroy_linked_listWalks the DragonKnightHit linked list, frees each node, then frees the head node. Full list cleanup.
0x0070328071CEffDragonKnightCharge__dtorDestructor for CEffDragonKnightCharge: sets vtable PTR_LAB_01115254, calls CEffectAura__dtor_base
0x007032D0146CEffDragonKnightHit__dtorDestructor for CEffDragonKnightHit: sets vtable PTR_LAB_011151c8, walks and frees linked list nodes, frees head, calls CEffectAura__dtor_base
0x0070337099CEffDragonKnightCharge__scalar_dtorScalar deleting destructor for CEffDragonKnightCharge: sets vtable, calls base dtor, optionally frees 0x194 bytes
0x007033E0170CEffDragonKnightHit__scalar_dtorScalar deleting destructor for CEffDragonKnightHit: sets vtable, frees linked list, calls base dtor, optionally frees 0xD4 bytes
0x00703490534CEffDragonKnight__add_pierce_sprites_to_listCreates DK_CHARGINGPIERCE 3D sprites at bone positions and adds to linked list
0x007036B0378CEffDragonKnight__create_hit_spritesCreates new chargingpierce hit sprites at bone positions for empty slots. Allocates effect layers, loads resource, stores in hit array slots.
0x00703830124CEffDragonKnight__create_charge_effectCreates a charge effect layer at the given slot index: allocates from pool, sets chargingpierce texture, initializes quad vertices, stores in charge array at 0x144.
0x00703900105CEffDragonKnight__destroy_hit_listDestroys all hit effect sprites in the linked list at 0xCC: recycles each to pool, frees list nodes, resets list to empty state with size 0.
0x00703970195CEffDragonKnight__get_active_sprite_countCounts active sprite slots by checking both charge array (0x144) and hit array (0x16C) for non-null entries. Returns total count (max 10).
0x00703C70334CEffDragonKnight__create_charge_spriteCreates a single DK_CHARGINGPIERCE 3D sprite from the effect pool, loads resource, sets position from bone data, and returns the sprite pointer.
0x00703DC01436CEffDragonKnight__update_all_spritesUpdates all DK sprites: transforms charge sprites, updates hit sprites with world-to-view transform
0x00704360540CEffDragonKnight__update_sprite_listUpdates sprites in linked list: transforms positions, manages animation lifecycle
0x00704580482CEffDragonKnight__update_hit_transformsUpdates hit sprite transforms: builds camera rotation + scale + bone offset matrix for each slot
0x00704770700CEffDragonKnight__update_single_charge_transformUpdates single charge sprite: applies camera rotation, scale, bone offset to build transform matrix
0x00704A30377CEffDragonKnight__render_charge_and_hit_spritesRenders 10 charge sprites via CEffectLayer__render_mesh and 10 hit sprites via CEffect__render_active_layers_alt in a single loop.
0x00704BF043CEffDragonKnight__render_single_spriteRenders a single DK effect sprite via CEffect__render_active_layers_alt if non-null.
0x00704C20317CEffDragonKnight__render_single_list_spriteRenders a single sprite from the linked list using CEffectLayer__render_mesh with UV/scale parameters derived from animation data.
0x00704D60172CEffHyperNovice__ctorConstructor for Hyper Novice jupitel thunder effect: initializes base, vtable, config fields
0x00704E1095CEffHyperNovice__dtorDestructor: sets vtable, destroys 3D sprite, clears particle vectors, calls base dtor
0x00704E70119CEffHyperNovice__scalar_dtorScalar deleting destructor: calls dtor, optionally frees object memory
0x00704EF0329CEffHyperNovice__create_particlesCreates 4 groups of 20 HN trail particles with random vertical offset, distance, and angle. Uses white02.bmp texture, pushes to particle vector at 0xD0.
0x0070504063CEffHyperNovice__destroy_all_particlesDestroys all hyper novice particles and resets vector end to begin
0x00705080126CEffHyperNovice__compute_direction_angleComputes direction angle from X/Y delta using sqrtf normalization and cosine lookup table. Returns angle in degrees (0-360).
0x00705100358CEffHyperNovice__create_trail_particlesCreates 4x4=16 groups of 20 trail particles each with random offsets, distances, and angles. Uses white02.bmp texture, pushes to particle vector.
0x00705280359CEffHyperNovice__update_all_particlesUpdates all HN trail particles: copies position from effect base, adjusts speed/distance per frame, shifts history ring buffer for trail fading.
0x007053F0278CEffHyperNovice__update_single_particleUpdates a single HN trail particle: adjusts speed, shifts position history ring buffer, increments frame counter.
0x007055101365CEffHyperNovice__update_trail_particlesUpdates HN trail particles: computes exponential decay positions with sin/cos curves for lightning trail
0x00705A701295CEffHyperNovice__update_single_trailUpdates single trail particle: applies exponential decay curve for lightning trail vertex positions
0x00705F80173CEffHyperNovice__ctor_extendedExtended constructor with additional config for HN jupitel thunder effect variant
0x0070603095CEffHyperNovice__dtor_extendedExtended destructor for HN jupitel thunder variant effect
0x00706090119CEffHyperNovice__scalar_dtor_extendedScalar deleting destructor for extended HN effect variant
0x0070611098CEffHyperNovice__destroy_all_spritesDestroys main 3D sprite at 0xCC and all trail particle sprites in vector (0xD0-0xD4). Recycles each to effect pool and resets pointers.
0x007061801125CEffHyperNovice__create_projectileCreates HN jupitel thunder 3D sprite and spawns trail particles at computed positions with sound
0x00706690300CEffHyperNovice__update_trail_and_projectileUpdates HN projectile position and all trail particle sprites
0x007067C0114CEffHyperNovice__render_all_spritesRenders main sprite at 0xCC and all trail particle sprites in vector (0xD0-0xD4) via CEffect__render_active_layers_alt.
0x00706840106CEffHyperNoviceSpell__ctorConstructor for HN spell cast effect (Climax): calls base CEffectAura ctor with ID -1, sets vtable to 0x01115604, initializes particle fields.
0x007068B071CEffHyperNoviceSpell__dtorDestructor for HN Climax spell effect: sets vtable, calls CEffectAura__dtor_base to clean up base effect.
0x0070690099CEffHyperNoviceSpell__scalar_dtorScalar deleting destructor for HN Climax spell effect: calls base dtor, optionally frees 0xD4 bytes of object memory.
0x00706970345CEffHyperNoviceSpell__transform_to_viewTransforms spell effect position from world to camera view space using entity world-to-view matrix chain. Applies height offset for riding entities.
0x00706B00309CEffHyperNoviceSpell__create_spritesCreates Climax spell effect sprites: main climax sprite at 0xCC, bottom layer at 0xD0 (texture varies by skill level 1-5), plays AG_CLIMAX.wav sound.
0x00706CFF1nop_return_void_00706cffSingle-byte NOP stub (no operation, returns immediately)
0x00706D0F1nop_return_void_00706d0fSingle-byte NOP stub (no operation, returns immediately)
0x00706D731nop_return_void_00706d73Single-byte NOP stub (no operation, returns immediately)
0x00706D831nop_return_void_00706d83Single-byte NOP stub (no operation, returns immediately)
0x00706DC91nop_return_void_00706dc9Single-byte NOP stub (no operation, returns immediately)
0x00706DE71nop_return_void_00706de7Single-byte NOP stub (no operation, returns immediately)
0x00706DF71nop_return_void_00706df7Single-byte NOP stub (no operation, returns immediately)
0x00706E3D1nop_return_void_00706e3dSingle-byte NOP stub (no operation, returns immediately)
0x00706E5D1nop_return_void_00706e5dSingle-byte NOP stub (no operation, returns immediately)
0x00706E701nop_return_void_00706e70Single-byte NOP stub (no operation, returns immediately)
0x00706F10464CEffHyperNoviceSpell__update_particlesUpdates 2 spell particle sprites: sets position from base, transforms to view space via world-to-view matrix, ticks animation, increments frame counter.
0x007070E0385CEffHyperNoviceSpell__transform_and_tick_particleTransforms single spell particle to camera view space using entity world-to-view matrix chain, then ticks animation frame.
0x0070727063CEffHyperNoviceSpell__render_all_spritesRenders spell effect sprites (main at 0xCC, trail particles in 0xD0-0xD4 vector) via CEffect__render_active_layers_alt.
0x007072B043CEffHyperNoviceSpell__render_single_spriteRenders a single spell particle sprite via CEffect__render_active_layers_alt if non-null.
0x007074E0190CEffFireworks__ctorConstructor for fireworks/sparkle effect: initializes base, vtable, particle vector and config
0x007075A0556CEffFireworks__create_burst_particlesCreates burst of 3D particles at random positions with scaling based on skill level
0x007077D063CEffFireworks__destroy_all_particlesDestroys all fireworks particles and resets vector end to begin
0x0070781066CEffFireworks__create_particles_by_typeCreates fireworks particles based on effect type: skill IDs 1099/0x457 spawn burst particles at random positions scaled by level; IDs 0x452/0x458 spawn single centered sprite.
0x007078801CEffNyangGrass__spawn_random_grass_effectsSpawns CEffNyangGrass instances at random positions around source, loads sprite/animation data, applies effect properties including skill-specific alpha (id 1099)
0x00707B50231CEffFireworks__update_all_particlesUpdates fireworks particles: applies gravity, fades alpha, sets position
0x00707C4083CEffFireworks__update_single_particleUpdates single fireworks particle: advances sprite animation frame, triggers sound callback (0x7A) at specific frame, increments frame counter.
0x00707CA094CEffFireworks__render_allRenders all active fireworks particles: iterates vector, checks lifetime, calls CEffectLayerEx__render for each alive particle.
0x00707D0027CEffFireworks__render_singleRenders a single fireworks particle via CEffectLayerEx__render if non-null.
0x00707D70171CEffNyangGrass__ctorConstructor for Nyanggrass ground effect: initializes base, vtable, particle vector and grid size
0x00707E8095CEffNyangGrass__dtorDestructor: sets vtable, clears particle vector, calls base effect dtor
0x00707EE0119CEffNyangGrass__scalar_dtorScalar deleting destructor: calls dtor, optionally frees object memory
0x00707F7050CEffNyangGrass__destroy_all_particlesDestroys all nyanggrass particles and resets both particle vectors
0x00707FB0308CEffEvilLand__alloc_overlay_verticesAllocates overlay vertex buffer for N quads (N*0x28 bytes), frees previous allocation
0x007080F0360CEffEvilLand__render_overlay_quadProjects 4 world vertices to screen, sets UV coords with scroll offset, submits to overlay queue
0x00708260130CEffNyangGrass__ctor_with_gridConstructor variant with grid size based on skill level (5/7/9 for level 1-2/3-4/5)
0x007082F095CEffNyangGrass__dtor_with_gridDestructor for grid variant: clears particle vector, calls base dtor
0x00708350119CEffNyangGrass__scalar_dtor_with_gridScalar deleting destructor for grid variant effect
0x007083D0477CEffNyangGrass__create_grid_particlesCreates NxN grid of su_nyanggrass 3D sprites at evenly spaced positions
0x007085B063CEffNyangGrass__destroy_grid_particlesDestroys all grid particles and resets vector end to begin
0x007085F0493CEffNyangGrass__create_grid_particles_variantCreates NxN grid of su_nyanggrass sprites with su_nyanggrass_str model at each cell position
0x0070883079CEffNyangGrass__update_all_particlesUpdates all nyanggrass particles: transforms to view space, increments frame counter
0x0070888045CEffNyangGrass__update_single_particleUpdates single nyanggrass particle position and frame counter
0x007088B069CEffNyangGrass__render_all_particlesRenders all nyanggrass 3D sprites, skipping null entries
0x0070890043CEffNyangGrass__render_single_spriteRenders single nyanggrass 3D sprite model
0x00708930119CEffCompetentia__ctorConstructor for Competentia cast effect: initializes base, vtable, particle vector and config
0x007089B095CEffCompetentia__dtorDestructor: sets vtable, clears particle vector, calls base effect dtor
0x00708A10119CEffCompetentia__scalar_dtorScalar deleting destructor: calls dtor, optionally frees object memory
0x00708A9063CEffCompetentia__destroy_all_particlesDestroys all competentia particles and resets vector end to begin
0x00708AD0478CEffCompetentia__create_cast_particlesCreates competentia cast particles with terrain height, loads competentia_cast_particle model, plays BeginSpell sound
0x00708CC0182CEffCompetentia__update_all_particlesUpdates competentia particles: transforms to view space, increments frame counter
0x00708D8045CEffCompetentia__update_single_particleUpdates single competentia particle position and frame counter
0x00708DB069CEffCompetentia__render_all_particlesRenders all competentia 3D sprites, skipping null entries
0x00708E0043CEffCompetentia__render_single_spriteRenders single competentia 3D sprite model
0x00708E3051CEffCompetentia__set_particle_fieldPropagates a value (param_2) to field 0x3f98 of all child particles in the vector
0x00708E70164CEffGroundGrow__ctorConstructor for ground grow/shrink effect: initializes base, vtable, two particle vectors and config
0x00708F20129CEffGroundGrow__dtorDestructor: clears both particle vectors, calls base effect dtor
0x00708FB0110CEffGroundGrow__scalar_dtorScalar deleting destructor: calls dtor, optionally frees object memory
0x00709020134CEffGroundGrow__scalar_deleting_dtor_00709020Scalar deleting destructor: sets vtable, calls CEffGroundGrow__dtor + CEffectAura chain, optionally frees 0xE8 bytes
0x007090B0187CEffGroundGrow__create_sprite_particlesCreates N*N sprite-based particles (CEffNyangGrass pool), loads sprite data + animation tree, initializes appearance and quad vertices
0x00709170328CEffGroundGrow__create_grow_particlesCreates NxN grid of growing particles at random positions within grid cells
0x007092C0110CEffGroundGrow__destroy_all_particlesDestroys both primary (offset 0xCC-0xD0) and secondary (offset 0xD8-0xDC) particle vectors, recycling all effects to pool
0x00709330561CEffGroundGrow__create_shrink_particlesCreates secondary shrink particles at random positions with random alpha and scale
0x00709570278CEffGroundGrow__reset_particle_appearanceResets particle to initial state: random position offset, random alpha/scale, sets grow phase
0x007096B0243CEffGroundGrow__reset_grow_particleResets grow particle: randomizes position within grid cell, sets initial scale and grow phase
0x00709800821CEffGroundGrow__update_all_particlesUpdates grow and shrink particles: manages grow/shrink/fade phases with camera rotation transform
0x00709B40319CEffGroundGrow__update_grow_singleUpdates single grow particle: manages grow/shrink phase transitions with alpha and scale
0x00709C80448CEffGroundGrow__update_shrink_singleUpdates single shrink particle: manages alpha fade with random rate, repositions with wobble
0x00709E40139CEffGroundGrow__render_all_particlesRenders grow particles as billboards and shrink particles as 3D models, skipping dead particles
0x0070C550120get_mob_bullet_name_by_idReturns bullet sprite name for mob ID: EP21 mobs, violen, corruption root, dregg, shadow jailer, etc. Default: skel_archer_arrow
0x007176E0143CGaleStorm__ctorConstructor: vtable 011174b8, init base class (type 0x7B5), zeroes sprite ptrs, sets interval=5
0x0071777095CGaleStorm__dtorDestructor: sets vtable 011174b8, deallocates sprite vector, destroys base class
0x007177D0119CGaleStorm__scalar_dtorScalar deleting destructor for CGaleStorm (0xE0 bytes), frees memory if flag set
0x00717850633CGaleStorm__spawn_arrow_effectSpawns galestorm arrow sprite at randomized position, plays WH_GALESTORM.wav 1/7 chance
0x00717AD0135CGaleStorm__update_tickPer-tick update: spawns arrow every 30 ticks and calls spawn_wind every 100/interval ticks
0x00717B60563CGaleStorm__spawn_wind_effectSpawns galestorm wind STR effect sprite at randomized position around center
0x00717DA063CGaleStorm__clear_spritesDestroys all galestorm effect sprites in vector, resets end pointer
0x00717DE0208CGaleStorm__calc_interval_from_levelSets spawn interval from level lookup table: levels 0-4=5, 5-7=7, 8-9=9, 10+=11
0x00717ED0313CGaleStorm__updateUpdates galestorm: spawns wind/arrow effects on intervals, updates alive sprites, removes expired
0x0071801045CGaleStorm__update_single_spriteUpdates a single galestorm sprite if non-null via animation tick
0x0071804069CGaleStorm__render_all_spritesIterates sprite vector and renders each non-null sprite via scene graph render
0x0071809043CGaleStorm__render_single_spriteRenders a single galestorm sprite if non-null via scene graph render
0x007180C0266CGroundEffect__on_hit_groundHandles ground hit: destroys sprite, gets actor height, resets 3D coords; type 0x4B1 plays impact sound via CSoundMgr
0x007181D0270CGroundEffect__on_spawnOn spawn: type 0x4B1 creates WL_TELEKINESIS_INTENSE STR sprite, type 0x960 sets active flag
0x007182E0272CGroundEffect__update_descendUpdates descending ground effect: decreases height toward min, gets terrain Y, updates sprite position
0x00718420166CProjectile__list_push_backInserts a sprite pointer into linked list before given node, increments count
0x007184D0332CProjectile__ctorConstructor: vtable 011175e0, type 0x7B0, two linked lists, default radius/height/angle params
0x00718620210CProjectile__dtorDestructor: sets vtable 011175e0, frees both linked lists (0xD4 and 0xCC), destroys base
0x00718700234CProjectile__scalar_dtorScalar deleting destructor for CProjectile (0x138 bytes), frees memory if flag set
0x007187F0199CProjectile__clear_both_listsDestroys all sprites in both linked lists (+0xD4 and +0xCC), resets counts to zero
0x007188C0705CProjectile__launchLaunches projectile: stores start time, computes midpoint/radius/angle, spawns hawkvumerang sprites
0x00718BA0660CProjectile__updateUpdates projectile arc: moves sprite along circular path using elapsed time, adjusts rotation/scale
0x00718E4045CProjectile__update_single_spriteUpdates a single projectile sprite if non-null via animation tick
0x00718E7067CProjectile__render_all_spritesIterates sprite linked list and renders each non-null sprite via scene graph
0x00718EC043CProjectile__render_single_spriteRenders a single projectile sprite if non-null via scene graph render
0x00718EF073_Allocate<8,struct_std::_Default_allocate_traits,0>STL memory allocator with alignment support. Falls back to aligned allocation for large sizes.
0x00719030425CWavEffect__ctorConstructor: vtable 011176c0, default count=2, wav prefix string, empty name string, allocates vector
0x00719200125CWavEffect__dtorDestructor: sets vtable 011176c0, destroys name/prefix strings, deallocates sprite vector, destroys base
0x00719280149CWavEffect__scalar_dtorScalar deleting destructor for CWavEffect (0x11C bytes), frees memory if flag set
0x00719320137CWavEffect__set_position_allStores current position and updates all sprites in vector to match position at +0x110
0x007193B073CWavEffect__destroy_all_spritesDestroys all non-null sprites in vector at +0xD4
0x00719400285CWavEffect__init_spritesCreates sprite instances up to count, calls virtual load_config, sets all sprite positions
0x00719520305CWavEffect__on_expireMarks all sprites as non-looping (flag 0xD), concatenates prefix+name strings, plays wav sound
0x0071966045CWavEffect__is_actor_validReturns 1 if actor at +0x20 exists and is found in scene, 0 otherwise
0x007196901437CWavEffect__load_dropitem_configLoads STR sprite paths by type: blue/green/red/yellow/purple/pink dropitem effects
0x00719C30110CWavEffect__tick_all_spritesUpdates all sprites in vector: calls animation tick and increments frame counter at +0xE8
0x00719CA094CWavEffect__render_all_spritesIterates sprite vector at +0xD4 and renders each non-null sprite via scene graph
0x00719D006440CWavEffect__debug_dump_skill_tree_and_collisionsDebug function: iterates skill tree nodes and collision rectangles, formats their coordinates/IDs/zoom values as strings, and outputs via OutputDebugStringA for diagnostic logging
0x0071B6901identity_return_ecx_0071b690Identity function that returns its input parameter unchanged
0x0072ED00183CTriangleShotEffect__ctorConstructor for CTriangleShotEffect (vtable PTR_LAB_01119aac). Calls CEffectAura base ctor with ID -1, zeroes 9 element/state fields at offsets 0xDC-0xFC and field 0x50. Object size 0x100 bytes.
0x0072EDC071CTriangleShotEffect__dtorDestructor for CTriangleShotEffect. Sets vtable and calls base class destructor.
0x0072EE1099CTriangleShotEffect__scalar_deleting_dtorScalar deleting destructor for CTriangleShotEffect. Calls destructor and optionally frees memory (0x100 bytes).
0x0072EE901053CTriangleShotEffect__InitializeInitializes triangle shot projectile effect. Saves source position, calculates direction vector to target, normalizes it, handles mineffect option for reduced visual effects. Sets up the effect string ("new_triangleshot" or "mineffect\new_triangleshot"). Calculates initial heading angle for the projectile.
0x0072F2E0204CTriangleShotEffect__UpdatePositionUpdates projectile position each frame. Decrements delay timer if positive, otherwise advances position along trajectory using velocity vector * frame count. Updates both effect and entity coordinates.
0x0072F3B0178CTriangleShotEffect__SetEntityPositionSets entity position based on current trajectory calculation. Updates effect position, source position, and entity position from velocity * frame count + origin.
0x0072F4A043CTriangleShotEffect__GetProjectileTimerGets the projectile timer value from the associated effect entity. Reads field at offset 0xD0+0x98.
0x0072F4D016CTriangleShotEffect__SetDelaySets the delay value at offset 0xD4 in the triangle shot effect.
0x0072F4E0116CProjectileEffect__constructorConstructor for CProjectileEffect. Calls base constructor, sets vtable, initializes vector fields (0x33-0x35) to zero. Object size 0xD8.
0x0072F56095CProjectileEffect__destructorDestructor for CProjectileEffect. Sets vtable, deallocates internal vector, then calls base destructor.
0x0072F5C0119CProjectileEffect__scalar_deleting_destructorScalar deleting destructor for CProjectileEffect. Calls destructor and optionally frees memory (0xD8 bytes).
0x0072F6401106CProjectileEffect__SpawnAllBloomEffectSpawns "allbloom" visual effect with random variation (2 variants). Creates 3D effect entities, loads "allbloom_bomb" effect strings, plays "AG_ALL_BLOOM.wav" sound. Pushes sub-effect handles into the effect vector at 0xD0.
0x0072FAA0249CProjectileEffect__SpawnViolentQuakeEffectSpawns "violentquake" visual effect with random variant (1-3). Creates 3D effect, sets vertical offset -8.0f, plays "AG_VIOLENT_QUAKE.wav" sound. Pushes sub-effect into the vector at 0xD0.
0x0072FBA063CProjectileEffect__DestroyAllSubEffectsIterates through sub-effect vector (0xCC-0xD0), destroys each sub-effect, then resets the vector size to empty.
0x0072FBE0278CProjectileEffect__SpawnEffectBySkillIdSpawns sub-effects based on skill ID. 0x6E0 = Violent Quake effect, 0x706 = All Bloom effect. Dispatches to the appropriate spawn function.
0x0072FD60549CProjectileEffect__UpdateSubEffectPositionsUpdates all sub-effect positions. For each sub-effect in the vector, transforms position from local space to world space using the view matrix, then applies a second matrix transformation for final positioning.
0x0072FF90510CProjectileEffect__TransformSubEffectPositionTransforms a single sub-effect's position from local to world space. Applies view matrix (4x3) transformation on the effect position plus offset, then a second matrix pass for final coordinates.
0x0073019069CProjectileEffect__UpdateAllSubEffectTimersIterates through all sub-effects in vector (0xCC-0xD0) and updates their timers via the render system.
0x007301E043CProjectileEffect__UpdateSubEffectTimerUpdates a single sub-effect's timer via the render system. Guard checks param is non-null.
0x00732980242CAsyncWorkThread__ctorConstructor for CAsyncWorkThread. Calls CNetworkSession constructor, sets up thread with name "AsyncWorkThread", initializes CMessageQueue, stores socket manager parameters, and registers the socket. Object combines CThread, CMessageQueue, and network session functionality.
0x00732A80153CAsyncWorkThread__dtorDestructor for CAsyncWorkThread. Sets vtables, unregisters socket from CSocketManager, destroys CMessageQueue, CThread, and CNetworkSession in order.
0x00732B40174CAsyncWorkThread__scalar_deleting_dtorScalar deleting destructor for CAsyncWorkThread. Calls full destructor, then optionally frees the 0x7C-byte object.
0x00732C4012CAsyncWorkThread__enqueue_messageThin wrapper that forwards to CMessageQueue::Enqueue to post a message to the async work thread.
0x00732C508thunk_to_CThread__StartSimple thunk that calls CThread::Start and returns
0x00732C608thunk_to_CThread__StopWrapper that calls CThread::Stop and returns
0x00732C70230CAsyncWorkThread__thread_procMain thread procedure for CAsyncWorkThread. Waits on either a quit event or the effect manager semaphore. On semaphore signal, processes pending effects, executes work via virtual call, and routes results back to the effect queue or front of the manager. Exits when receiving message 0x50000 with type 1.
0x00734470212log_format_to_thread_bufferFormats a message using vsprintf into the per-thread log buffer (0x800 bytes). Uses a thread-safe singleton CLoggerMap with lazy initialization and atexit cleanup. The formatted string is stored in the thread's buffer for later retrieval.
0x00734550209log_ip_address_to_thread_bufferConverts a sockaddr_in IP address to string via inet_ntoa and stores it in the per-thread log buffer. Uses a separate singleton CLoggerMap instance for IP address logging.
0x00734630228log_string_pair_to_thread_bufferFormats two std::string parameters and an integer into the per-thread log buffer as "%s %s %d". Uses a separate singleton CLoggerMap instance. Handles SSO (small string optimization) for the std::string parameters.
0x00734C10205get_local_ip_addressGets local machine IP address. Uses gethostname + gethostbyname. param_1=0: returns first private IP, param_1=1: returns first public IP. Returns 0 on failure.
0x00734CE01013is_private_ip_addressChecks if an IP address is in a private range. Checks 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 ranges. Returns 1 if private, 0 if public. Converts IP to host byte order for comparison.
0x007352B098CNetworkAddress__SetFromStringSets network address from an STL string. Calls inet_addr on the string buffer and stores the result at offset 4.
0x00735530103CSocketTree__FreeNodesRecursively frees nodes in a socket BST. Traverses right subtree, frees current node (0x18 bytes), moves to left child.
0x0073569067CSocketTree__FreeRootFrees the root node of the socket tree (0x18 bytes) if non-null.
0x007356E0111CSocketTree__FreeAllFrees all nodes in the socket BST, then frees the header node.
0x0073576078CSocketTree__destructorDestructor for CSocketTree. Frees root node if present.
0x007357B078CSocketTree__destructor2Destructor variant 2 for CSocketTree. Frees root node if present.
0x0073580065CSocketTree__FreeAll_wrapperWrapper that calls CSocketTree__FreeAll to free all tree nodes.
0x00735D00704BST_erase_and_rebalanceBST node erasure with red-black tree rebalancing. Standard RB-tree erase operation.
0x007361D084BST_rotate_leftBST left rotation. Standard red-black tree left rotation of param_2 node. Updates parent, child, and root pointers.
0x0073623088BST_rotate_rightBST right rotation. Standard red-black tree right rotation of param_2 node. Updates parent, child, and root pointers.
0x00736740400CCircularBuffer__GrowGrows the circular buffer capacity. Allocates new slot pointer array, copies existing entries.
0x007368E0182CCircularBuffer__FreeAllFrees all entries in the circular buffer. Decrements count to zero, frees each slot entry (12 bytes), then frees the slot pointer array.
0x00736A10275CHashMap__FindFinds an entry in the hash map by string key. Computes FNV-1a hash, then applies a linear congruential step. Looks up the bucket, traverses the linked list comparing keys with STL string comparison. Returns iterator pointing to found node or end.
0x00736B30201CHashMap__constructorConstructor for CHashMap. Sets vtable, allocates sentinel node (0x24 bytes), initializes with 16 buckets, load factor 1.0f, max bucket count 7/8. Calls resize to initialize bucket array.
0x00736C0087CHashMap__Clear_variant1Clears the hash map variant 1. Frees bucket array and all linked nodes.
0x00736CF087CHashMap__Clear_variant2Clears the hash map variant 2. Frees bucket array and all linked nodes.
0x00736D50131CHashMap__FreeAllNodesFrees all nodes in the hash map's linked list. Traverses from head, destroys each string key, frees each node (0x24 bytes), then frees the sentinel.
0x00736DE0106CHashMap__destructorDestructor for CHashMap. Sets vtable, frees bucket array, frees all linked list nodes.
0x00736E50131CHashMap__scalar_deleting_destructorScalar deleting destructor for CHashMap. Calls destructor and optionally frees memory (0x2C bytes).
0x00736EE0117CHashMap__LookupAndCreateLooks up a key in the hash map. If found, calls the factory function stored in the node's value to create/return the resource. Returns 0 if not found. Used for effect resource lookup by name.
0x00736F60116CHashMap__ReleaseEntryReleases a hash map entry. Looks up key, if found calls the release method (vtable+4) on the stored value object.
0x00736FE0320CHashMap__ResizeResizes the hash map's internal bucket vector. If new size is larger, allocates new aligned buffer, copies existing data, frees old buffer. Fills all slots with param_3 (sentinel pointer). If new size equals or is smaller, just fills existing slots with param_3. Used during initialization and rehash.
0x0073713032CScopedLock__constructorConstructor for CScopedLock (RAII lock guard). Sets vtable, stores CRITICAL_SECTION pointer, calls EnterCriticalSection.
0x0073715064CScopedLock__destructorDestructor for CScopedLock. Sets vtable and calls LeaveCriticalSection.
0x007371A089CScopedLock__scalar_deleting_destructorScalar deleting destructor for CScopedLock. Leaves critical section and optionally frees memory (8 bytes).
0x00737200135CThread__constructorConstructor for CThread. Sets vtable, copies thread name string, initializes state to 0, handle to null, enabled flag to 1.
0x00737290170CThread__destructorDestructor for CThread. Handles thread cleanup based on state: state 2 (suspended) = resume then stop, state 1 (running) = call virtual stop method + WaitForSingleObject(3000ms), state 3 (stopped) = close handle. Frees thread name string.
0x00737350121CThread__scalar_deleting_destructorScalar deleting destructor for CThread. Same cleanup as destructor, optionally frees memory (0x2C bytes).
0x0073742094CThread__StartStarts the thread. Creates thread via _beginthreadex with FUN_007375c0 as entry point, suspended initially, then immediately resumes it. Sets state to 1 (running). Calls thread name setter. Returns 1 on success, 0 if already running or creation failed.
0x0073748090CThread__StopStops the thread. State 2 = resume first, state 1 = call virtual stop method + wait 3s, state 3 = close handle. Sets state to 0 when done.
0x007374F032CThread__ResumeResumes a suspended thread. If state is 2 (suspended), calls ResumeThread and sets state to 1 (running).
0x00737510130set_thread_name_via_exceptionSets thread name using the RaiseException trick (exception code 0x406D1388 = MS VC thread naming). Passes thread ID and name string to the debugger.
0x007375A032CThread__SuspendSuspends the thread. If state is 1 (running), calls SuspendThread and sets state to 2 (suspended).
0x007375C026CThread__ThreadProcThread entry point (passed to _beginthreadex). Calls the virtual Run method (vtable+4), then sets thread state to 3 (stopped).
0x00737840102CLinkedList__FreeAllFrees all nodes in a linked list. Disconnects head/tail pointers, then walks the list freeing each node (0xC bytes).
0x00737A3030trivial_scalar_deleting_destructorTrivial scalar deleting destructor. Optionally frees 4 bytes. Used for simple objects.
0x00738100465CUIWindow__vector_grow_12byteGrows a vector of 12-byte elements. Allocates new buffer with 1.5x growth factor, copies existing elements, fills new slots with zero via zero_fill_12byte_array, frees old buffer. Used by CUIWindow for control descriptor arrays.
0x007382E0285CUIWindow__ctorConstructor for CUIWindow. Calls UIWindowBase__ctor, sets vtable, stores 3 constructor params at offsets 0x2D-0x2F, copies two STL strings (title/name), initializes additional fields from stack params. Object size 0x124 bytes.
0x00738400150CUIWindow__clear_vector_12byteClears and deallocates a vector of 12-byte elements. Frees aligned memory if size > 0xFFF, then zeros the 3 vector fields (begin, end, capacity).
0x007384A087cleanup_two_stringsCleanup function that destroys two STL strings in sequence.
0x00738500136CUIWindow__dtorCUIWindow destructor. Resets vtable pointer, clears 12-byte vector, destroys two STL strings, then calls UIWindowBase::dtor() for base class cleanup.
0x00738590160CUIWindow__scalar_deleting_dtor_00738590CUIWindow scalar deleting destructor. Destroys vtable, clears 12-byte vector, destroys two STL strings, calls UIWindowBase::dtor(), then optionally frees memory (size 0x124).
0x0073863015CUIWindow__VirtualDispatchDispatches to a virtual method on the child window object (offset 0x104). Calls vtable method at offset 0x10.
0x00738640338CUIWindow__OnCreateCUIWindow OnCreate handler. Resizes internal vector to exactly 2 entries of 12 bytes each, sets control descriptors: entry 0 = (5, 5, 0x22), entry 1 = (4, 1, 0x1B). If child widget at offset 0x104 is null, creates a UIThemedWidget (size 0xB0), sets its size to (0x3C, 5) and position to (0x36, 0x19), then adds it to child list.
0x007387A01339CUIWindow__draw_party_memberDraws a party member entry in the party UI window. Loads job icon sprite (alive or dead variant), draws party crown for leader, formats and truncates member name with level, draws HP bar if member data exists, and shows online/offline/self status icon. Uses "renewalparty" resource path prefix. References: sicon_jobs, sico_partyCrown, sicon_party_me/on/off BMPs.
0x00738CE054CUIWindow__OnItemRightClickHandles right-click on an item in a UI window. Checks if action 0x22 is allowed, then calls CItemList::OnRightClick with adjusted coordinates (adding window origin) and the item data.
0x00738D2028CUIWindow__DestroyChildWindowDestroys the child window at offset 0x104. Calls the destroy function with delete flag 1, then nulls the pointer.
0x00738D5025CUIWindow__SetScrollRangeSets the scroll range for the UI window. Stores horizontal range at 0x10C and vertical range at 0x110.
0x00738D703identity_return_0x738d70Identity function - returns param_1 unchanged. Likely a no-op virtual method.
0x00738D8049zero_fill_12byte_arrayZero-fills an array of 12-byte elements. Returns pointer past the end of the filled region.
0x00739BF0139CItemEntry__ConstructFromStringConstructs an ItemEntry from a C string and a value. Initializes embedded STL string at offset 0, copies param_2 string via strlen + STL assign, stores param_3 at member offset 0x18 (index 6).
0x0073A03065CItemEntry__DestroyStringDestroys the embedded STL string in a single ItemEntry.
0x0073FFC0204UIContextMenuWnd__constructorConstructor for UIContextMenuWnd. Calls base window constructor (type 0), sets vtable. Initializes menu entry vector (0x2D-0x31) and clears existing string entries.
0x0074009095UIContextMenuWnd__destructorDestructor for UIContextMenuWnd. Sets vtable, clears and frees the item entry vector, calls base class destructor.
0x007400F0119UIContextMenuWnd__scalar_deleting_destructorScalar deleting destructor for UIContextMenuWnd. Calls destructor and optionally frees memory (200 bytes).
0x00740170209UIContextMenuWnd__GetTargetInfoGets target entity info for the context menu. Copies fields from offsets 0xB4-0x104 including entity ID, position, two strings (name, guild?), and additional data.
0x00740250174UIContextMenuWnd__CreateTooltipWidgetCreates a tooltip widget (UIThemedWidget) for the context menu if not already created. Allocates 0xB0 bytes, initializes it, sets position and size (0x23, 0x17), attaches to the window.
0x007403002169UIContextMenuWnd__SetupMenuSets up the visual display of the context menu. Loads and draws the target entity's job icon sprite (alive or dead variant). If not a pet, draws a party crown sprite. Positions tooltip widget. Formats and draws the target's display name with level and guild info, truncated to fit the menu width. Colors text gray (0xAAAAAA) for dead targets, white (0xFFFFFF) for alive.
0x00740B80396UIContextMenuWnd__OnPaintOnPaint handler for UIContextMenuWnd. If not in use-item tab mode (DAT_017381a8 == 0), draws the base window via child at offset 0xC4. Then checks if target entity exists and is alive (field 0x40 == 0). If target is dead, triggers attack click on entity via CGameMode__handle_attack_click_on_entity.
0x00740D1047UIContextMenuWnd__OnUpdateOnUpdate handler for UIContextMenuWnd. If not in certain state (DAT_017381a8 != 1), checks if self equals current active window and dispatches virtual method on child window at offset 0xC4.
0x00740D401337UIContextMenuWnd__OnMessageOnMessage handler for UIContextMenuWnd. Formats and displays entity info text (name, level, guild) with truncation. Compares the truncated display name against the full name to determine if a tooltip should be shown. If truncated, shows tooltip at offset position. Builds formatted string differently for mode 1 (just name) vs default (Lv.X Name Guild).
0x007412A0149UIContextMenuWnd__OnCommandMain command handler for the right-click context menu. Handles many actions: 0x22=inspect entity, 0xE7=copy name, 0xE8=whisper, 0xE9=party invite, 0xEA=trade request, 0xEB=block, 0xEC=unblock. Case 0x17=show entity info. Case 0x30/0x31=build and show context menu entries. Builds menu dynamically based on target type (player, guild member, etc).
0x007426F0495UIPartyMemberWnd__constructorConstructor for UIPartyMemberWnd. Calls UIWindowBase__ctor(1), sets vtable. Initializes two SSO strings (name/guild), window type 0x12D, slot fields, and background texture path "renewalparty_img_partymini_bg_t" (48 chars). This is the compact party member display window.
0x007428E0103CLinkedList__FreeAll_14byteFrees all nodes in a linked list with 0x14 byte nodes.
0x00742950151UIPartyMemberWnd__destructorDestructor for UIPartyMemberWnd. Sets vtable, destroys name/guild SSO strings, frees the size breakpoint vector, then calls UIWindowBase__dtor.
0x007429F0175UIPartyMemberWnd__scalar_deleting_destructorScalar deleting destructor for UIPartyMemberWnd. Calls destructor logic and optionally frees 0x138 bytes.
0x00742AA019UIPartyMemberWnd__SetOriginSets the origin position (x at 0x1C, y at 0x20) for a UIPartyMemberWnd.
0x00742AC0284UIPartyMemberWnd__OnCreateOnCreate handler for UIPartyMemberWnd. Allocates and attaches a UIContextMenuWnd (200 bytes) as child at offset 0x108 for right-click context menus. Sets initial size 0xAE x 0x34. Ensures width breakpoint vector at 0x114 has 3 entries (0xAE, 0x65, 0x40).
0x00742BE0403UIPartyMemberWnd__OnPaintOnPaint handler for UIPartyMemberWnd. Draws party member slots by iterating 1-3 times (based on party mode). For each slot, copies the background texture name string and renders a textured quad via CRenderQueue__DrawTexturedQuadByName.
0x00742D80137UIPartyMemberWnd__OnUpdateOnUpdate handler for UIPartyMemberWnd. Updates focus order, computes absolute screen position via parent offset accumulation, stores origin/position/timestamp. Calls CNavigatorWnd__refresh_dependent_windows to update linked displays.
0x00742E10527UIPartyMemberWnd__OnMessageOnMessage handler for UIPartyMemberWnd. Handles entity selection (msg 0x22): finds party member slot at click position via CUIElement__FindChild. For existing members, copies entity data (ID, name, guild strings). For new slots, creates CUIElement. Shows error dialog for out-of-range. Ends with footer bar draw and cell position update.
0x00743020265UIPartyMemberWnd__OnCommandOnCommand handler for UIPartyMemberWnd. Manages display size modes (0=full/0xAE, 1=medium, 2=compact). Each mode uses different width from breakpoint vector and different background texture. Updates background string, repositions child toggle widget at offset 0x43.
0x00743130127UIPartyMemberWnd__OnMessage_MainMain message handler for UIPartyMemberWnd. Large switch handler: msg 6/0x22 (inspect entity via context menu with map lookup), msg 0xE/7 (resize with 3 width breakpoints - updates all party member sub-windows), msg 0x17 (party member data update - copies entity info, strings, position), msg 0x30/0x31 (forwards to context menu at 0x108).
0x0074365036CUICallback__scalar_deleting_destructorScalar deleting destructor for CUICallback. Sets vtable and optionally frees memory (8 bytes).
0x0074539025zero_fill_dword_arrayZero-fills an array of param_2 DWORDs starting at param_1.
0x007453B028is_null_pointerReturns 1 if the value at *param_1 is 0 (null pointer check), 0 otherwise.
0x00746080194CSkillTreeNode__move_ctorMove constructor for CSkillTreeNode (0x44 bytes / 17 dwords). Copies all fields from source, then zeroes the source's vector fields (offsets 0x20-0x28 and 0x34-0x3C) to transfer ownership of dynamically allocated data.
0x00746150111CSkillTreeNode__InitInitializes a CSkillTreeNode. Zeros out 6 fields at offsets 0x20-0x3C (child pointers and connection data).
0x00746A70172CTokenizer__operator_indexCTokenizer operator[] - returns pointer to token at index param_2 (0x18-byte elements). On out-of-bounds, logs an error "Error in CTokenizer::operator[]" and dumps all tokens, then returns element 0.
0x00746BF039CTokenizer__scalar_deleting_dtorScalar deleting destructor for CTokenizer. Sets vtable, optionally frees the 0x110-byte object.
0x007476601identity_return_ecx_00747660Identity function that returns its input parameter unchanged
0x00747E60348CStringStreamBuf__overflowstreambuf overflow handler. If buffer has space, writes char via _Pninc. Otherwise, if output mode (0x4), grows buffer (2x growth, min 0x20, max 0x7FFFFFFF), copies old data, frees old buffer if owned (flag bit 0), and writes the char.
0x00747FC094CStringStreamBuf__pbackfailstreambuf pbackfail handler. Handles putback of characters. If -1 (EOF), just decrements get pointer. Otherwise checks mode bits: if not readonly (bit 1 clear), overwrites char; if readonly, only succeeds if char matches existing.
0x00748140420CStringStreamBuf__seekoffstreambuf seekoff implementation. Handles seek from beginning (0), current (1), or end (2). Updates get and/or put pointers based on param_6 flags (bit 0 = get, bit 1 = put). Validates seek position against buffer bounds. Returns new position or -1/-1 on failure.
0x007482F0204CStringStreamBuf__seekposstreambuf seekpos implementation. Seeks to absolute position (param_3 + param_5). Updates get/put pointers based on param_9 flags. Validates against buffer bounds.
0x007483C070CStringStreamBuf__underflowstreambuf underflow handler. Returns the current character without advancing get pointer. Updates available count from put pointer if get area is exhausted but put pointer has advanced.
0x0074A3B066CTokenizer__init_vtableInitializes base class vtable pointer to PTR_CTokenizer_0111aabc with SEH frame setup. Simple constructor/initialization helper for the CTokenizer base class.
0x0074A840690lzw_decodeLZW decompression algorithm. param_1=initial code size, param_2=compressed data, param_3=compressed data length, param_4=output buffer. Uses a dictionary table with 12-entry structs (char, parent index, length). Handles clear codes and end-of-information codes. Max code size capped at 12 bits. Returns decompressed data length or -1 on error.
0x0074C92044copy_frame_entriesCopy frame entries, small utility function
0x0074C95045relocate_frame_entriesRelocates pairs of dwords (8-byte frame entries) from [param_1, param_2) to offset param_3. Used for vector insertion/relocation of sprite frame data.
0x0074CEE0263CAniClip__CreateNewFactory function: allocates a new CAniClip object (0xD350 bytes), calls constructor, sets vtable to PTR_FUN_0111ae3c. Initializes array of 0x3C animation clip entries using _eh_vector_constructor_iterator_. Initializes JSON-related fields at +0x34c9 and a string field. Returns new object or NULL.
0x0074CFF0804CAniClip__LoadFromFileLoads animation clip data from a .ani file. Reads header (magic, version 0x94), dimensions, frame count. For each frame, reads bone count, loads bone data (0x80 bytes each via CBuffer), then reads key count and key data (0x7C * count). On file not found, shows "Str: Cannot find File:" error. On version mismatch, shows "LoadAniClip: Version is incorrect". Returns 1 on success, 0 on failure.
0x0074D33038CAniClip__scalar_deleting_destructorScalar deleting destructor for CAniClip. Calls destructor FUN_0074d6f0, optionally frees 0xD350 bytes if param_2 bit 0 set.
0x0074D36025memzero_dwordsZeros memory by dword count. Calls memset(param_1, 0, param_2 * 4).
0x0074D38025memzero_dwords_2Zeros memory by dword count. Identical to memzero_dwords - calls memset(param_1, 0, param_2 * 4). Likely a duplicate or inline expansion.
0x0074D3A028is_null_checkReturns 1 if the dword pointed to by param_1 is zero, 0 otherwise. Simple null/zero check predicate.
0x0074D3C028is_null_check_2Returns 1 if the dword pointed to by param_1 is zero, 0 otherwise. Duplicate of is_null_check.
0x0074D3E0143format_float_fixedFormats a float value to fixed notation string using charconv. Takes output buffer params and a float pointer (param_4). Sets up format descriptor (0xB0000000) and calls charconv__format_fixed_notation.
0x0074D470170format_string_and_floatFormats a string (param_4, STL string) and float (param_5) to output buffer using charconv. Sets up two format descriptors (0xC0000000 for string, 0xB0000008 for float). Handles SSO string (checks capacity at param_4[5] for small buffer optimization).
0x0074D52075build_string_float_descriptorBuilds a format descriptor array for a string + float pair. Sets up type tags (0xC0000000 for string, 0xB0000008 for float), copies string data pointer (handling SSO), length, and float value into the descriptor struct at param_1.
0x0074D570207CAniClip__constructorCAniClip constructor. Calls base constructor, sets vtable, initializes 0x3C animation clip entry slots via _eh_vector_constructor_iterator_ (each 0x380 bytes). Initializes JSON vtable at +0x34c9, animation index at +0x34ca to -1, and zeroes remaining fields. String at +0x34ce initialized as empty SSO.
0x0074D640169CAniClipEntry__constructorConstructor for individual animation clip entry (0x380 bytes). Zeros first 4 dwords, fills 0x6E dwords at offset +0x10 with "1_bmp" string pattern data, then zeros remaining 0x1B8 bytes at +0x1C8.
0x0074D6F0157CAniClip__destructorCAniClip destructor. Resets JSON vtable at +0x34c9, closes file stream, destroys STL string, then destroys all 0x3C clip entries via _eh_vector_destructor_iterator_ (each 0x380 bytes). Resets base vtable to PTR_FUN_0111aabc.
0x0074D79087CAniClipEntry__destructorDestructor for individual animation clip entry. Iterates over pointers at +0x1C8 through +0x380 (offsets within the entry), releasing any non-null resources via stub_005724e0.
0x0074D7F081CAniClip__DestroyEntryArrayDestroys the array of animation clip entries at offset +0x48 via _eh_vector_destructor_iterator_. Each entry is 0x380 bytes, 0x3C entries total.
0x0074D850333CAniClip__GetFrameTextureGets or lazily loads the texture for animation frame index param_2. If texture at [param_2 + 0x72] is not yet loaded, formats filename as "effect/{float}" using the float at [param_2 + 4], finds the file extension, loads the texture via stub_005717a0, and caches at [param_2 + 0x72]. Returns texture pointer or calls stub_00571790 if index out of bounds.
0x0074D9A0365CAniClip__GetFrameTextureByNameGets or lazily loads the texture for animation frame param_2 using a string name param_3. Formats filename as "effect/{string}/{float}" using the string and float from the clip data. Caches loaded texture at [param_2 + 0x72]. Returns texture pointer or calls stub_00571790 if out of bounds.
0x0074ED501identity_return_ecx_0074ed50Identity function that returns its input parameter unchanged
0x0074F0A0233CSkillTreeData__createFactory function that creates a CSkillTreeData object (0x19B8 bytes). Allocates memory, calls base constructor, sets vtable, zeroes out 15 skill category arrays (0x68 DWORDs each) and header fields.
0x0074F1901839CSkillTreeData__load_from_fileLoads skill tree data from a binary file. Reads a version float, skill count, then for each skill reads prerequisites as three parallel int vectors (skill IDs, levels, types). Builds the internal 0x24-byte skill tree entries. Each skill has an array of prerequisite data stored in three vectors. Returns 1 on success, 0 on failure.
0x0074F8C0112CSkillTreeData__scalar_deleting_dtorScalar deleting destructor for CSkillTreeData. Calls cleanup, sets base vtable, optionally frees the 0x19B8-byte object.
0x0074FF00113CSkillTreeEntry__copy_constructCopy-constructs a 0x24-byte CSkillTreeEntry at param_2. Has 3 sub-vectors at offsets 0, 0xC, 0x18, each copy-constructed from the source.
0x007500B0171CSkillTreeData__ctorConstructor for CSkillTreeData. Calls base constructor, sets vtable, zeroes 15 skill category arrays (0x68 DWORDs each) and header fields. Object is 0x19B8 bytes.
0x00750160198CSkillTreeEntry__move_constructMove-constructs a 0x24-byte CSkillTreeEntry. Moves 3 sub-vectors (each 3 DWORDs: begin, end, capacity) from source to destination, zeroing the source.
0x0075036098CSkillTreeEntry__destroy_singleDestroys a single 0x24-byte CSkillTreeEntry by calling vector destructors on its 3 sub-vectors.
0x007503D0358CSkillTreeData__compute_weighted_sumComputes a weighted sum across all skill categories. For each category, iterates through entries and their prerequisite vectors, accumulating weights. Uses a positional scaling factor (10^n). Allocates an array of per-category results. Returns total sum.
0x00750550139CSkillTreeData__find_entry_indexFinds the index of a skill entry by searching for a specific category (param_2), tree index (param_3), and prerequisite index (param_4). Validates bounds before searching. Returns -1 if not found.
0x007505E0113CSkillTreeData__get_max_prereq_countReturns the maximum prerequisite count across all entries in a skill category (param_2). Iterates all entries and finds the one with the most prerequisites.
0x0075066043CSkillTreeData__get_entry_countReturns the number of 0x24-byte entries in skill category param_2.
0x007506B043CSkillTreeData__get_prereq_countReturns the number of prerequisites for entry param_3 in skill category param_2.
0x007506E063CSkillTreeData__get_prereq_dataGets prerequisite data at index param_5 for entry param_4 in category param_3. Returns the prerequisite skill ID and type in param_2 (2 DWORDs) from the first and third sub-vectors.
0x0075072039CSkillTreeData__get_prereq_skill_idReturns the prerequisite skill ID at index param_4 for entry param_3 in category param_2. Reads from the first sub-vector.
0x0075075022CSkillTreeData__destroy_range_wrapperThin wrapper that forwards to destroy_range_0x24_skill_entries with this pointer.
0x00753E501026CRsmFace__insertion_sortInsertion sort for small ranges of 0x20-byte face elements. Called from introsort when range is <= 32 elements.
0x00754260404CRsmFace__make_heapBuilds a max-heap from a range of 0x20-byte face elements. Iterates from last to first, deep-copying face data including the adjacency vector, then sifting down.
0x00754400262CRsmFace__sort_threeSorts three face elements (median-of-three) by their face group index (ushort at offset +0xC). Used as pivot selection for introsort.
0x007545101082CRsmFace__partitionPartition operation for introsort of 0x20-byte face elements. Selects pivot and partitions the range.
0x00754950495CRsmFace__sift_downSift-down operation for a heap of 0x20-byte face elements. Copies the 0x1A-byte face header and adjacency vector during swaps. Compares by face group index at offset +0xC.
0x00754B40319CRsmFace__introsortIntrosort implementation for 0x20-byte face elements. Switches to insertion sort for small ranges (<=32 elements), falls back to heapsort when recursion depth is exhausted. Uses median-of-three pivot selection.
0x00755790238CRsmFace__copy_constructCopy-constructs a CRsmFace (0x20 bytes). Copies the 0x1A-byte header directly, then deep-copies the adjacency int vector from the source.
0x0075588083CRsmFace__init_vector_fieldsInitializes the vector fields (begin, end, capacity) of a CRsmFace to zero at offset +0x14.
0x0075668034CRsmFace__FreePairBuffersFrees two buffer pointers in an 8-byte RSM face structure (vertex index array and UV array).
0x00756DD0158CRsmFaceGroup__CopyAssignCopy assignment for an RSM face group structure. Copies header fields (shorts/ints), then copies the vertex index vector data with potential reallocation if destination capacity is insufficient.
0x00756E70160CRsmTextureName__deleting_destructorDeleting destructor for RSM texture name entries (0x18 bytes each with embedded STL string). Handles both single and array destruction (bit 1 of param_2). Uses _eh_vector_destructor_iterator_ for arrays.
0x00756F20181CRsmFace__deleting_destructorDeleting destructor for RSM face entries (8 bytes each). Handles single/array. Uses CRsmFace__FreePairBuffers for element cleanup, _eh_vector_destructor_iterator_ for array destruction.
0x00756FE0170CRsmFaceGroup__deleting_destructorDeleting destructor for RSM face groups (0x20 bytes each). Handles single/array using _eh_vector_destructor_iterator_.
0x0075933032granny_free_controlDeactivates and frees a Granny3D animation control. Calls GrannySetControlActive(ctrl, false) then GrannyFreeControl(ctrl). No-op if param_1 is null.
0x007598B0779load_granny_gr2_fileLoads a Granny .gr2 file from disk. Builds path as "{param_1}/{param_2}.gr2", opens file stream, reads entire file from memory via GrannyReadEntireFileFromMemory. Shows "Cannot find File" error if file not found. Returns Granny file handle or 0.
0x00759BC0779load_granny_gr2_file_altAlternative Granny .gr2 file loader. Nearly identical to load_granny_gr2_file but uses a different global buffer (DAT_0144f560 vs DAT_0144f868). Same path format and error handling.
0x0075D0501identity_return_ecx_0075d050Identity function that returns its input parameter unchanged
0x0075D7D0789CPaletteRes__LoadFromFileLoads a palette resource from a .pal file. Opens the file, reads 0x400 bytes (256 RGBA colors) into offset +0x110, then processes/converts the palette data at +0x510. Shows "CPaletteRes : Cannot find File" error on failure. Returns 1 on success, 0 on failure.
0x0075DBD046CPaletteRes__GetPaletteDataCopies palette data to output buffer. Writes "PAL data" header then copies 256 RGBA entries (0x400 bytes) from offset +0x110 to the output buffer.
0x0075FE3088CSprFrame__InitInitializes a sprite frame structure with 9 fields: sets dimensions, positions, and type from parameters. Zeroes fields 6-8 (runtime state).
0x0075FE90176CSprRes__CreateCreates a new CSprRes (sprite resource) object. Allocates 0x52c bytes, initializes base class, sets vtable to PTR_FUN_0111b398, initializes 2 vectors (0xc stride) for indexed and RGBA frame lists, zeroes frame count at +0x14a.
0x0075FF403018CSprRes__LoadFromFileLoads a sprite (.spr) file. Reads header magic "SP", version, and frame count. For indexed frames (v1.x/2.x): reads pixel data, applies RLE decompression (v2.1+), optional half-resolution downscaling. For RGBA frames (v2.0+): reads ABGR pixel data, byte-swaps to ARGB, creates D3D textures. Stores palette at +0x110. Shows errors for unsupported versions or invalid format.
0x00760B10145CSprRes__FreeTextureArraysFrees two texture arrays (index 0 and 1). For type 0, frees raw data pointers at each entry +0xC. For type 1, releases COM/ref-counted texture objects at +8 via virtual destructor. Frees each 0x10-byte entry and resets array end pointers.
0x00760BB0122CSprRes__scalar_deleting_destructorScalar deleting destructor for CSprRes. Destroys 2 vector entries (0xC bytes each) at offset +0x510 via _eh_vector_destructor_iterator_, resets base vtable, optionally frees 0x52C bytes.
0x00760F50124CSprRes__constructorCSprRes constructor. Calls base constructor, sets vtable to PTR_CSprRes__ScalarDestructor_0111b398. Initializes 2 vector entries (0xC bytes each) at +0x510 via _eh_vector_constructor_iterator_. Sets +0x528 to 0.
0x00760FE0144downsample_imageDownsamples an image buffer by halving dimensions. param_1=source buffer, param_2=width, param_3=height, param_4=halve width flag, param_5=halve height flag. Allocates new buffer with halved dimensions and copies every other pixel/row. Returns pointer to new downsampled buffer.
0x00761070583rle_encode_indexed_imageRLE-encodes an indexed (palettized) image. param_1=source pixel data, param_2=width, param_3=height, param_4=output size. Zero pixels are run-length encoded (byte 0 followed by count), non-zero pixels stored literally. Count capped at 0xFE per run. Returns pointer to allocated encoded buffer, sets *param_4 to encoded size.
0x007612C0185RLE_decode_to_bufferDecodes RLE-compressed data into allocated buffer of size width*height
0x0076411025zero_fill_int_arrayFills array with zeroes, count is number of 4-byte elements
0x00764220389introsort_median_of_threeMedian-of-3 or median-of-9 pivot selection for introsort, compares field+4 of elements
0x007643B0402introsort_partitionThree-way partition for introsort using median pivot, handles equal elements
0x00764710555introsort_implIntrosort implementation: quicksort with heapsort fallback and insertion sort for small ranges
0x00764940155relocate_20byte_elementsRelocates array of 0x14-byte elements, sets vtable for each during copy
0x007649E050construct_20byte_elementConstructs a 0x14-byte element with vtable and 4 field values at destination
0x00764A20158format_string_2argsFormats string with 2 integer arguments using charconv format notation
0x00764AC0173format_string_3argsFormats string with 3 integer arguments using charconv format notation
0x00764B7063build_format_desc_2fieldBuilds format descriptor with 2 fields for string formatting
0x00764BB094build_format_desc_3fieldBuilds format descriptor with 3 fields for string formatting
0x00767E601CObject__clear_field14CObject: clear field14
0x0076B590459CHashManager__ctorCHashManager constructor. Sets vtable, initializes critical section, creates CFileReader, opens "RagHash.dat" and reads its contents. Sets active flag if file read succeeds.
0x0076B76089CHashManager__dtorCHashManager destructor. Releases CFileReader (calls virtual destructor with delete), clears pointer, and deletes critical section.
0x0076B7C0110CHashManager__scalar_deleting_dtorCHashManager scalar deleting destructor. Calls dtor logic (release CFileReader, delete critical section), then optionally frees memory (0x24 bytes) if param_2 bit 0 is set.
0x0076B8401stub_return_true_0076b840Stub return true 0076b840
0x0076BCB0356CHashManager__InitializeInitializes the hash manager. Creates CFileReader object (0x10 bytes), stores at +8. Opens "RagHash.dat" file, checks file size >= 2, then reads hash table via thunk_00401640. Returns true on success, false if allocation fails, file not found, or too small.
0x0076BE201stub_return_true_0076be20Stub return true 0076be20
0x0076BEC025CHashManager__ReleaseFileReaderReleases the CFileReader at +8 by calling its virtual destructor (param=1 to delete), then nulls the pointer.
0x0076BEE027CHashManager__ReleaseGlobalReleases the global hash manager singleton at DAT_01450b94. Calls virtual destructor (param=1 to delete) and nulls the global pointer.
0x0076C14090CHashEntry__CopyConstructCopy-constructs a hash entry at param_2. Sets vtable to PTR_FUN_0111bd24, copies second dword from source param_3+4, then copies the byte vector at param_3+8 via FUN_0076c1a0.
0x0076C240176CHashFileSystem__constructorConstructor for CHashFileSystem (0x50 bytes). Sets vtable to PTR_FUN_0111bd2c, initializes strings, flags, hash buffer pointer (+0xC), and critical section at +0x2C via InitializeCriticalSection. Calls FUN_0076c9d0 to initialize hash data; sets flag at +4 on success.
0x0076C3E0139CHashFileSystem__destructorDestructor for CHashFileSystem. Resets vtable, frees hash buffer at +0xC (via FUN_00e92420 + FUN_00e6227f), calls DeleteCriticalSection on critical section at +0x2C. Destroys entry vector via FUN_0076c320 and string via STL_string_dtor.
0x0076C47074CHashEntry__destructorDestructor for CHashEntry (0x14 bytes). Sets vtable to PTR_FUN_0111bd24, then destroys internal data via STL_lib_func_004f9590.
0x0076C4C0160CHashFileSystem__scalar_deleting_destructorScalar deleting destructor for CHashFileSystem. Calls destructor (frees hash buffer, critical section, entry vector, string), then optionally frees 0x50 bytes if param_2 bit 0 is set.
0x0076C56099CHashEntry__scalar_deleting_destructorScalar deleting destructor for CHashEntry. Resets vtable, destroys internal data, optionally frees 0x14 bytes if param_2 bit 0 set.
0x0076C5D0154CHashFileSystem__AddEntryAdds a hash entry to the file system's entry vector at +0x48. Acquires critical section at +0x2C, copies hash entry (vtable, ID, byte vector) into the vector, growing if needed. Releases critical section after.
0x0076C673106CHashFileSystem__VerifyHashVerifies a file hash within the critical section. Acquires mutex at +0x2C, calls FUN_00e92d90 with provided params and the hash buffer at +8. Releases mutex after.
0x0076C9D0906CHashFileSystem__InitHashEngineInitializes the hash/anti-tamper engine. Creates 1-byte allocation, calls FUN_0076cfb0 and FUN_00e929b0 for setup. Reads version via FUN_00e92820 (expects 0x755). Decrypts obfuscated strings using xor_decrypt_buffer (title, message, and search term). If search term not found in DAT_0173ad60, shows MessageBox with decrypted error message and returns 0. On success, registers callback FUN_0076d910 via FUN_00e92e90 and returns 1.
0x0076CE7037CHashFileSystem__FreeHashBufferFrees the hash buffer at +0xC. Calls FUN_00e92420 for cleanup, then FUN_00e6227f to free memory, and nulls the pointer.
0x0076CEA027CHashFileSystem__ReleaseGlobalReleases the global CHashFileSystem singleton at DAT_01450b98 by calling its virtual destructor (param=1 to delete) and nulling the pointer.
0x0076CEC03return_zero_0076cec0Always returns 0. Trivial stub function.
0x0076CEC394CHashFileSystem__GetFlagReturns the byte flag at +0x10 within the critical section. Acquires mutex at +0x2C, reads flag, releases mutex, returns the value.
0x0076CF30118CHashFileSystem__GetNameReturns the name string at +0x14 within the critical section. Acquires mutex at +0x2C, copies string, releases mutex, returns param_2 (the output buffer).
0x0076CFB01538CHashFileSystem__GetHashFilePathDetermines the hash file path based on DAT_016d3b10 (server type/region). Uses a switch on values 0-7,0xC with different encrypted strings for each case. Decrypts obfuscated path strings via xor_decrypt_buffer with unique key pairs. For case 0, also checks if a suffix is present in DAT_0173ad60 to select between two paths. Returns pointer to decrypted path string.
0x0076D5E0600CHashFileSystem__GetStatusMessageGets a status/error message string based on internal state. Acquires critical section. If this==NULL, decrypts "null obj" error string. If hash buffer (+0xC) is NULL, decrypts "no buf" error. Otherwise calls FUN_00e92780 for status; if 0, decrypts "fail" error. All strings XOR-decrypted with unique keys. Returns decrypted string pointer.
0x0076D84095CHashFileSystem__GetFileReaderReturns the file reader pointer at +8 within the critical section. Acquires mutex at +0x2C, reads pointer, releases mutex.
0x0076D8A396CHashFileSystem__ProcessEntryProcesses a hash entry within the critical section. Acquires mutex at +0x2C, calls FUN_00e92f30 with the provided parameter, releases mutex.
0x0076D910116CHashFileSystem__HandleCallbackHash engine callback handler. Dispatches on param_1 event codes: 0x3E9/0x3EA=hash mismatch errors (decrypted format string, logs to FUN_0076dfa0), 0x3F3=error with code, 0x3F4/0x3F5=simple errors, 0x3F6/0x3F7=errors with different format strings, 0x3FB=add new hash entry to vector. All format strings are XOR-encrypted and lazily decrypted. Returns 0 on handled events, 1 on default/unhandled.
0x0076DFA0145CHashFileSystem__LogErrorLogs a hash error within the critical section. Acquires mutex at +0x2C. If error flag at +0x10 is not yet set, sets it to 1 and copies the error string (from param_4, an STL string) to the internal string at +0x14. Releases mutex and destroys temp string.
0x0076E04396CHashFileSystem__set_server_address_lockedThread-safe wrapper that acquires a scoped lock on the CHashFileSystem mutex at offset +0x2C, then calls CAntiCheat__set_server_address with the given parameter. Part of the hash file system's server address configuration.
0x0076E0B037CHashEntry__destroy_rangeCHashEntry: destroy range
0x0076E0E0156CHashEntry__copy_rangeCopies a range of CHashEntry objects from [param_1, param_2) into param_3. Each entry is 0x14 bytes (vtable + 4-byte key + 0xC-byte vector_byte). Sets vtable to CHashEntry, copies key field, and copy-constructs the byte vector. Returns pointer past last written entry.
0x0076E180154CHashEntry__copy_range_voidCopies a range of CHashEntry objects from [param_1, param_2) into param_3 (void return variant). Each entry is 0x14 bytes (vtable + 4-byte key + 0xC-byte vector_byte). Sets vtable to CHashEntry, copies key field, and copy-constructs the byte vector.
0x0076EBB056atomic_wait_until_changedAtomic wait until changed
0x0076F450400mersenne_twister__generate_boundedmersenne_twister: generate bounded
0x00775ABE1nop_return_void_00775abeSingle-byte NOP stub (no operation, returns immediately)
0x00775AEC1nop_return_void_00775aecSingle-byte NOP stub (no operation, returns immediately)
0x007770EF1nop_return_void_007770efSingle-byte NOP stub (no operation, returns immediately)
0x0077710E1nop_return_void_0077710eSingle-byte NOP stub (no operation, returns immediately)
0x0077714C1__breakDebug breakpoint instruction (INT3)
0x007771D81nop_return_void_007771d8Single-byte NOP stub (no operation, returns immediately)
0x007771F31nop_return_void_007771f3Single-byte NOP stub (no operation, returns immediately)
0x007772121nop_return_void_00777212Single-byte NOP stub (no operation, returns immediately)
0x007772421nop_return_void_00777242Single-byte NOP stub (no operation, returns immediately)
0x007772FB1nop_return_void_007772fbSingle-byte NOP stub (no operation, returns immediately)
0x007773161nop_return_void_00777316Single-byte NOP stub (no operation, returns immediately)
0x007773351nop_return_void_00777335Single-byte NOP stub (no operation, returns immediately)
0x007773631nop_return_void_00777363Single-byte NOP stub (no operation, returns immediately)
0x0077740A1nop_return_void_0077740aSingle-byte NOP stub (no operation, returns immediately)
0x007774251nop_return_void_00777425Single-byte NOP stub (no operation, returns immediately)
0x007774441nop_return_void_00777444Single-byte NOP stub (no operation, returns immediately)
0x007774721nop_return_void_00777472Single-byte NOP stub (no operation, returns immediately)
0x007775071nop_return_void_00777507Single-byte NOP stub (no operation, returns immediately)
0x007782AE1nop_return_void_007782aeSingle-byte NOP stub (no operation, returns immediately)
0x007782CD1nop_return_void_007782cdSingle-byte NOP stub (no operation, returns immediately)
0x007783501nop_return_void_00778350Single-byte NOP stub (no operation, returns immediately)
0x0077898E1nop_return_void_0077898eSingle-byte NOP stub (no operation, returns immediately)
0x007789BF1nop_return_void_007789bfSingle-byte NOP stub (no operation, returns immediately)
0x00778A501nop_return_void_00778a50Single-byte NOP stub (no operation, returns immediately)
0x0077E37034build_error_result_0xea3Creates a result struct with message string 0xEA3 (looked up via CMessageStringTable__get_message_text) and value 0xFF. Returns param_1.
0x0077E7E034build_error_result_0xea1Creates a result struct with message string 0xEA1 (looked up via CMessageStringTable__get_message_text) and value 0xFF. Returns param_1.
0x0078107034build_error_result_0xea2Creates a result struct with message string 0xEA2 (looked up via CMessageStringTable__get_message_text) and value 0xFF. Returns param_1.
0x00781AB0142get_time_of_day_indexReturns time-of-day index (0-3) based on a float time value. Checks against 4 threshold constants to categorize into morning(0), afternoon(1), evening(2), night(3). Returns -1 if value is out of range.
0x00781B4014is_valid_time_indexReturns true if param_1 < 4 (valid time-of-day index: 0-3).
0x00783CD01071play_meteor_storm_buster_effectsPlays 4 meteor storm buster effects at a position: "meteor_storm_buster_meteor_bottom", "meteor_storm_buster_meteor", "meteor_storm_buster_bottom", and "meteor_storm_buster". Each effect is looked up by name from CEffectDataMgr and spawned at the given position.
0x007880C034build_error_result_0xea8Creates a result struct with error code 0xEA8 (looked up via FUN_00b00f00) and color value 0xFFFF00 (yellow). Returns param_1.
0x007880F034build_error_result_0xea9Creates a result struct with error code 0xEA9 and value 0xFF.
0x00788B2034build_error_result_0xeacCreates a result struct with error code 0xEAC and color 0xFFFF00 (yellow).
0x00788B5034build_error_result_0xeadCreates a result struct with error code 0xEAD and value 0xFF.
0x00789EE034build_error_result_0xeaaCreates a result struct with error code 0xEAA and color 0xFFFF00 (yellow).
0x00789F1034build_error_result_0xeabCreates a result struct with message text for string ID 0xEAB and color value 0xFF (blue). Returns the pair in param_1.
0x0079E4D11stub_ret_0079e4d1Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E4F01stub_ret_0079e4f0Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E5201stub_ret_0079e520Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E5B31stub_ret_0079e5b3Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E5CF1stub_ret_0079e5cfSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E5EE1stub_ret_0079e5eeSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E61C1stub_ret_0079e61cSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E6B31stub_ret_0079e6b3Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E6C71stub_ret_0079e6c7Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E6E61stub_ret_0079e6e6Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E7141stub_ret_0079e714Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E79D1stub_ret_0079e79dSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E7B91stub_ret_0079e7b9Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E7D81stub_ret_0079e7d8Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E8061stub_ret_0079e806Single-byte return stub at function boundary, likely alignment padding or placeholder
0x0079E8931stub_ret_0079e893Single-byte return stub at function boundary, likely alignment padding or placeholder
0x007A453C1stub_ret_007a453cSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x007A455D1stub_ret_007a455dSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x007A45FD1stub_ret_007a45fdSingle-byte return stub at function boundary, likely alignment padding or placeholder
0x007A66371stub_ret_007a6637Single-byte return stub at function boundary, likely alignment padding or placeholder
0x007A66581stub_nop_007a6658Single-byte stub function (size=1)
0x007A66F91stub_nop_007a66f9Single-byte stub function (size=1)
0x007A6F8082CPerformanceTimer__ctorCPerformanceTimer constructor. Sets vtable, queries QueryPerformanceFrequency for high-res timing. Falls back to 1MHz if unavailable. Computes ticks per 1/60th second for frame timing.
0x007A6FF036CPerformanceTimer__scalar_deleting_dtorScalar deleting destructor for CPerformanceTimer. Resets vtable and optionally frees 0x20-byte allocation.
0x007A702066CPerformanceTimer__reset_frequencyRe-queries QueryPerformanceFrequency and recalculates ticks per 1/60th second. Falls back to 1MHz if unavailable. Returns 1.
0x007A7070237CPerformanceTimer__get_or_create_singletonSingleton accessor for CPerformanceTimer. Creates and initializes a new 0x20-byte instance if DAT_01450cc4 is null. Returns 1 on success, 0 on failure (destroys instance if init fails).
0x007A717027CPerformanceTimer__destroy_singletonDestroys the CPerformanceTimer singleton at DAT_01450cc4 via its virtual destructor and nulls the pointer.
0x007A719056CPerformanceTimer__query_timeQueries current time. Uses QueryPerformanceCounter if high-res timer available, otherwise falls back to timeGetTime * 1000 for microsecond precision.
0x007A7930229CSpecialPopupMgr__get_or_create_singletonSingleton accessor for CSpecialPopupMgr. Creates 0x10-byte instance with embedded std::map if DAT_01450cc8 is null. Returns 1 on success, 0 on failure.
0x007A7A2027CSpecialPopupMgr__destroy_singletonDestroys the CSpecialPopupMgr singleton at DAT_01450cc8 via its virtual destructor and nulls the pointer.
0x007A7A4072CSpecialPopupMgr__find_entry_by_keySearches the CSpecialPopupMgr's embedded std::map for a key using lower_bound. Returns pointer to value (at node+0x14) if found, 0 if not found.
0x007A7A90788CSpecialPopupMgr__load_lua_scriptLoads and executes System/spopup.lub Lua script. Registers AddMsg and AddDesc callbacks. Calls main() after loading. Shows MessageBox on errors. Returns 1 on success, 0 on failure.
0x007AAD20132_Rehash_for_1Rehashes an unordered container to ensure at least one bucket is available for insertion.
0x007AADD043throw_bad_any_castThrows std::bad_any_cast exception
0x007AAE10136CBaseException__ctorBase exception constructor: sets vtable, copies message string, zeroes fields at 0x3c-0x3e
0x007AAEA0149CDerivedExceptionA__ctorDerived exception A constructor: calls base ctor then sets own vtable
0x007AAF40149CDerivedExceptionB__ctorDerived exception B constructor: calls base ctor then sets own vtable
0x007AAFE095CCSVParserCallback__dtorDestructor for CCSVParserCallback. Sets vtable, destroys internal string, calls base class cleanup.
0x007AB040119CCSVParserCallback__scalar_deleting_dtor_AScalar deleting destructor for CCSVParserCallback variant A. 0xFC bytes total size.
0x007AB0C0126CCSVParserCallback__scalar_deleting_dtor_BScalar deleting destructor for CCSVParserCallback variant B. 0xFC bytes total size.
0x007AB140126CCSVParserCallback__scalar_deleting_dtor_CScalar deleting destructor for CCSVParserCallback variant C. Sets vtable to PTR_LAB_01121c88, destroys internal string, calls CEffectAura base dtor, optionally frees 0xFC bytes. Same pattern as variants A and B.
0x007ABA1034copy_memory_rangeCopies a memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer to end of copied data in destination.
0x007ABA4068_Copy_unchecked<class_std::basic_string<char,struct_std::char_traits<char>,class_std::allocator<char>_>*,class_std::basic_string<char,struct_std::char_traits<char>,class_std::allocator<char>_>*>Unchecked copy of STL string objects from source range to destination.
0x007ABC80183CTreeMap__destroy_nodes_recursiveRecursively destroys nodes in a red-black tree (std::map). Traverses right subtree first, then destroys string values (via FUN_007ae440/CFmt), frees node (0x6C bytes), and continues to left child.
0x007ABD4075CTreeMap__lower_boundPerforms lower_bound search on a red-black tree (std::map). Traverses tree comparing key at node offset +0x10 (int key), returns iterator with node pointer and found flag.
0x007ABD90291CTreeMap__constructorConstructor for a tree-based map container. Sets vtable to PTR_FUN_01121e2c, initializes dimensions (0xF0 x 0x140), type=0x11, allocates sentinel node (0x6C bytes), initializes two string fields (offsets 0x27 and 0x2B), and registers with a global manager. Contains string data members and counter fields.
0x007ABEC0167CTreeMapEntry__init_fieldsInitializes fields for a tree map entry structure. Sets two string fields (with SSO buffer size 0xF at offsets +4/+5 and +0xB/+0xC), and zeroes out six additional fields (offsets 0xE-0x15).
0x007ABF7067CTreeMap__free_sentinel_nodeFrees the sentinel/header node (at offset +4) of the tree map if it is non-null. Node size is 0x6C bytes.
0x007ABFD076CTreeMap__clear_and_freeClears all nodes from the tree map by calling destroy_nodes_recursive on root, then frees the sentinel node (0x6C bytes).
0x007AC030163CTreeMap__destroy_single_nodeDestroys a single tree map node. If node pointer at offset +4 is non-null, destroys string data via CFmt, then frees the node (0x6C bytes).
0x007AC0E078CTreeMap__free_nodeFrees a tree map node at offset +4 if non-null. Simple node deallocation (0x6C bytes) without recursive cleanup.
0x007AC13087CTreeMap__clear_all_nodesClears all nodes from tree map. Calls destroy_nodes_recursive on root node, then frees sentinel (0x6C bytes). Similar to clear_and_free but with different SEH setup.
0x007AC190123CTreeMap__destroy_node_dataDestroys the string data stored in a tree map node. Calls FUN_007ae440 to extract key, CFmt to format, then destroys two STL strings.
0x007AC220266CTreeMap__destructorDestructor for the tree map container. Sets vtable, destroys string data in two entries, unregisters from global manager (json__internal_0051dab0), recursively destroys all tree nodes, and frees sentinel node.
0x007AC33068CTreeMap__destroy_string_wrapperSimple wrapper that destroys an STL string with SEH frame protection.
0x007AC380110CTreeMap__destroy_node_stringsDestroys string data in a tree map node. Extracts key via FUN_007ae440, formats via CFmt, then destroys two STL strings.
0x007AC3F0253CTreeMap__find_or_insertFinds an entry by integer key or inserts a new one if not found (operator[] semantics). Allocates new node (0x6C bytes), initializes with key and default data via CTreeMapEntry__init_fields, inserts into tree via Insert_node. Returns pointer to value data at node+0x14.
0x007AC4F0290CTreeMap__scalar_deleting_destructorScalar deleting destructor for the tree map. Sets vtable, destroys string data, unregisters from global manager, recursively destroys all tree nodes, frees sentinel, and optionally frees this (0x11C bytes) if param_2 & 1.
0x007AC620156CTreeMap__add_vector_entryAdds a 0x1C-byte entry (7 x uint32 values) to the vector (at node+0x50) in a tree map node identified by key. Finds/creates node via find_or_insert, then pushes the entry or reallocates via emplace_realloc if full.
0x007AC6C046CTreeMap__set_two_fieldsSets two fields (at offsets +0x44 and +0x48) in a tree map node identified by key. Calls find_or_insert twice for the same key.
0x007AC6F031CTreeMap__set_bool_fieldSets a boolean field at offset +0x34 in a tree map node identified by key. Converts int param_2 to bool (non-zero = true).
0x007AC710431CTreeMap__add_string_entryAdds a string to a tree map node's string vector (at node+0x3C). First replaces backslash sequences (0x5C6E = '\\n') with newline character (0x0A) in the input string, then finds/creates the node by key and pushes the processed string into the vector.
0x007AC8C0205CTreeMap__set_entry_dataSets multiple data fields on a tree map entry: updates max key tracking at offset 0x118, assigns a string value, sets a boolean at +0x18 (from comparison with 1), and assigns a second string field. Takes key, and structured data with two strings and a type flag.
0x007AC990398CTreeMap__get_or_create_singletonGets or creates the global singleton CTreeMap instance (stored at DAT_01450cd0). Allocates 0x11C bytes, calls constructor inline, checks validity flag at +0x2E. Returns 1 if valid, 0 if creation failed or flag not set (calls virtual destructor to clean up on failure).
0x007ACB2027CTreeMap__destroy_singletonDestroys the global CTreeMap singleton (DAT_01450cd0). Calls virtual destructor with delete flag=1, then sets pointer to NULL.
0x007ACB40191CTreeMap__select_random_valid_entryCollects all tree map entries with key < 1000 and flag byte at +0x2C set to 1 into a temporary vector. Then picks a random entry from the vector using rand() and calls FUN_007ae050 with its key. Returns pointer to offset +0x24 in the object.
0x007ACC00110CTreeMap__find_entryFinds a tree map entry by integer key. Uses lower_bound twice for range check. Returns pointer to value data (node+0x14) if found, otherwise returns default entry at this+0xBC.
0x007ACC70727CTreeMap__get_formatted_stringGets a formatted string from a tree map entry. Looks up entry by key, extracts substring up to '#' delimiter, optionally processes color codes (param_5 >= 11), splits string by delimiter, appends suffix from DAT_010da66c. Returns constructed string in param_2.
0x007AD8E081string_replace_allReplaces all occurrences of a search pattern (param_2) in the target string (param_1) with replacement string (param_3). Uses find loop (FUN_0073feb0) and STL string replace operations.
0x007AD9401793CTreeMap__search_entries_by_keywordSearches all tree map entries by keyword (case-insensitive). For each entry, copies string data and checks the enabled flag. If enabled, converts both entry name and search keyword to uppercase, then uses _mbsstr for substring matching. Matching entry keys are added to a results vector. Skips disabled entries (flag byte at +0x2C == 0). Returns pointer to results vector at this+0x18.
0x007B0EB0192CActTree__DestroySubtree_0x34Recursively destroys a tree of act objects with 0x34-byte nodes. For each node, recursively destroys left subtree, then cleans up the 0x2c sub-struct at +0x2c, frees the sub-struct, destroys a string, and frees the 0x34-byte node.
0x007B0F70131CActTree__DestroySubtree_0x2cRecursively destroys a tree of act objects with 0x2c-byte nodes. For each node, recursively destroys left subtree, destroys a string, and frees the 0x2c-byte node.
0x007B1000220sort_three_elements_by_field_0x2cSorts three element pointers in ascending order based on field +0x2c of their data (obtained via FUN_00e08750). Uses comparison-based swaps (bubble sort for 3 elements).
0x007B1E60214UISpriteMapWidget__ctorConstructor for UISpriteMapWidget. Calls base ctor, sets vtable to PTR_FUN_0112262c, initializes dimensions, bitmap pointer, and various state fields to 0. Sets default size to 11.
0x007B1FB0157UIActAnimWidget__ctorConstructor for UIActAnimWidget. Calls base constructor, sets vtable to PTR_FUN_01122704, initializes type to 7, zeroes 6 fields for animation state.
0x007B24F0184UIActSprColorWidget__ConstructorConstructor for a colored act sprite widget. Calls base ctor, sets vtable to PTR_FUN_011222cc, initializes two index fields to -1, an SSO string, and 4 color values (0xce7b52, 0xffffff, 0xefe7e7, 0xadadad - various UI text/highlight colors).
0x007B25B0202UIActSprDualStringWidget__ConstructorConstructor for a dual-string act sprite widget. Calls base ctor, sets vtable to PTR_FUN_0112247c, initializes 2 SSO strings and zeroes multiple state fields.
0x007B268067CActObject__FreeRenderDataFrees the 0x34-byte render data struct at offset +4 if non-null.
0x007B26D076CActObject__DestroyAndFree_0x34Destroys an act object by calling cleanup on its data, then frees the 0x34-byte data struct.
0x007B273076CActObject__DestroyAndFree_0x2cDestroys an act object by calling cleanup on its data, then frees the 0x2c-byte data struct.
0x007B2790168CActObject__DestroySubAndFreeDestroys an act object with a sub-object. First cleans up the 0x2c sub-struct at +0x2c of the data, then frees the 0x34 main data struct, then destroys a string.
0x007B284078CActObject__FreeRenderData_bFrees the 0x34-byte render data struct at offset +4 if non-null. Alternative version.
0x007B28B087CActObject__CleanupAndFree_0x34_bCleans up act object data and frees the 0x34-byte struct. Alternative version with different SEH setup.
0x007B291087CActObject__CleanupAndFree_0x2c_bCleans up act object data and frees the 0x2c-byte struct. Alternative version.
0x007B2970128CActObject__DestroySubAt0x1cDestroys the sub-object at offset +0x1c. Cleans up and frees the 0x2c struct there, then destroys a string.
0x007B29F0135CActObject__DestroyMultipleStringsDestroys 5 strings in reverse order and calls a packet parser constructor between them. Appears to be a complex destructor with multiple string members.
0x007B2BC0118UISpriteMapWidget__DestructorDestructor for UISpriteMapWidget. Sets vtable to PTR_FUN_0112262c, frees bitmap data at +0x20, destroys internal data, then calls base class destructor.
0x007B2C90110UIActAnimWidget__DestructorDestructor for UIActAnimWidget. Sets vtable to PTR_FUN_01122704, frees action frame vector and 4-byte vector, then calls base class destructor.
0x007B2F1095UIActSprColorWidget__dtorDestructor for UIActSprColorWidget. Sets vtable to PTR_CUIButton_scalar_deleting_dtor_011222cc, destroys one SSO string member, then calls CEffect__dtor base class destructor.
0x007B2F70107UIActSprDualStringWidget__dtorDestructor for UIActSprDualStringWidget. Sets vtable to PTR_CUIEditBox_scalar_deleting_dtor_0112247c, destroys two SSO string members in reverse order, then calls CEffect__dtor base class destructor.
0x007B2FE0117CUIComponent__dtor_tree_and_stringDestroys a 0x2c-byte red-black tree at offset +0x18 and a string member. Used as part of CUIComponent cleanup for tree+string sub-objects.
0x007B32B0142UISpriteMapWidget__scalar_deleting_dtorScalar deleting destructor for UISpriteMapWidget. Sets vtable to PTR_0112262c, frees bitmap data at +0x20, clears a 4-byte vector, calls CEffect__dtor base destructor, then optionally frees the 0xb0-byte object.
0x007B33B0134UIActAnimWidget__scalar_deleting_dtorScalar deleting destructor for UIActAnimWidget. Sets vtable to PTR_01122704, frees action frame vector and 4-byte vector, calls CEffect__dtor base destructor, then optionally frees the 0xa0-byte object.
0x007B36E0119UIActSprColorWidget__scalar_deleting_dtorScalar deleting destructor for UIActSprColorWidget. Sets vtable to PTR_011222cc, destroys one SSO string member, calls CEffect__dtor base destructor, then optionally frees the 0xac-byte object.
0x007B3760131UIActSprDualStringWidget__scalar_deleting_dtorScalar deleting destructor for UIActSprDualStringWidget. Sets vtable to PTR_0112247c, destroys two SSO string members in reverse order, calls CEffect__dtor base destructor, then optionally frees the 0xbc-byte object.
0x007B37F087CUITabControl__set_selected_tabSets the selected tab index at offset +0x24. If a parent component exists, looks up the tab value from a vector at +0x28 and sends notification (msg 0x87) to parent via virtual call 0x94, then triggers refresh via virtual call 0x98.
0x007B385080CUIComponent__set_positionSets x/y position at offsets +0x1f/+0x20. Notifies parent via virtual call 0x94 (msg 0x16) with the new coordinates, updates tree view scroll state, and triggers refresh.
0x007B3AD0366CUITreeView__init_layoutInitializes the tree view layout. Sets up tree expansion icons, indentation, row heights, and scroll parameters.
0x007B3DA01012CUITreeView__render_rowRenders a single tree view row. Draws background sprites based on selected/current state, renders category header text, and iterates sub-items drawing their icons and text with appropriate colors.
0x007B4220322CUITreeView__get_row_textGets the display text for a tree view row. If param_3==-1, returns the category header text. Otherwise, formats "category: subcategory" text by looking up both keys in the internal map.
0x007B4370201CUITreeView__hit_test_cellHit tests a tree view cell at (x, y) coordinates. Determines which row and column the point falls in. Outputs row index via param_4 and column index via param_5 (-1 for header area). Returns 1 if hit, 0 if outside bounds.
0x007B6F60167CUITreeView__render_all_rowsRenders all visible rows in the tree view. Draws background sprite, notifies parent for custom rendering (callback 0x74), then iterates through all tree nodes in order calling render_row for each node's data value.
0x007B7680213CUIProgressBar__renderRenders a progress bar. Draws outer border, inner border, background fill, then calculates fill percentage (current/max * 100) and draws the filled portion. Uses 4 configurable colors: fill (+0x9c), background (+0xa0), border (+0xa4), inner border (+0xa8).
0x007B7760349CUIButton__render_sprite_and_itemRenders a button's sprite and optional item icon overlay. Loads and draws the main sprite from the stored path. If an item ID (+0xb0) is set, creates an item descriptor, loads the item's icon sprite, and draws it at offset (20, 15) on top of the button.
0x007B7960133CUITreeView__on_clickHandles click event on the tree view. Hit-tests the click position to find row and column, updates selected row/column fields, notifies parent via callback 0x16 with the selection, updates scroll state, and refreshes display.
0x007B7A20201CUIComponent__render_tooltipRenders a tooltip for a UI component. Formats text as "name (current/max)" using the component's string field (+0x84) and numeric fields (+0x7c, +0x80). Calculates screen position with parent offset accumulation and displays via CToolTipMgr.
0x007B7AF098CUILabel__render_with_tooltipRenders a label with optional tooltip. First calls the base render method via vtable. If the tooltip flag (+0x23*4) is set, accumulates parent offsets and shows the tooltip text from the label's string field (+0x1f*4).
0x007B7B6077CUITreeView__on_mouse_moveHandles mouse move event on the tree view. Hit-tests the mouse position to find the hovered row and column, stores them in fields +0x25 and +0x26 (as dword indices), then triggers a repaint.
0x007B7BB0232CUIButton__on_click_show_item_tooltipShows an item tooltip when the user clicks on the item icon area of a button. Checks if click is within the 24x24 icon region at (+0xb4, +0xb8). If so, creates an item descriptor, opens the item info window (type 0xc), and passes the item data via callback 0x18.
0x007B7DD060CUITreeView__on_scroll_verticalHandles mouse wheel scroll on a tree view. If scrolling is enabled (+0x32 flag), sends command 7 to parent with delta +1 (scroll down) or -1 (scroll up) depending on wheel direction.
0x007B7F10207CUITreeView__update_scroll_stateUpdates the scroll state for a tree view. Calculates scrollable range based on current category's item count vs visible capacity, enables/disables scroll flag, clamps scroll position, updates scrollbar range, and resizes the sprite widget to match content height.
0x007B7FE0189CUITreeView__recalculate_total_heightRecalculates the total height of the tree view content. Starts with header count * header height, then iterates all tree nodes summing (row height * item count per node). Updates the widget's virtual size and triggers repaint.
0x007B81B0116CUITreeView__on_commandHandles scroll commands for the tree view. Commands 7/9/10: scroll by delta/page-down/page-up respectively. Updates scroll position, clamps to range, refreshes scroll state, and returns the delta applied.
0x007B8C20403CUIButton__set_sprite_and_tooltipSets a button's sprite image and tooltip text. If tooltip text (param_3) is provided, copies it to the button's tooltip string field (+0x1f). Loads the sprite resource from the given path (param_2), stores the resource handle, resizes the button to match the sprite dimensions, and stores the item ID (param_4) for icon overlay rendering.
0x007BA26096UIAttendanceWnd__ctorConstructor for UIAttendanceWnd. Sets vtable to PTR_FUN_01123004. Initializes member at offset 0x2d (attendance data pointer) to 0.
0x007BA34087UIAttendanceWnd__InsertAndCleanupInserts data into the attendance window's internal vector then cleans up the temporary string.
0x007BA3A071UIAttendanceWnd__dtorDestructor for UIAttendanceWnd. Restores vtable, calls base class destructor FUN_008a4e90.
0x007BA3F099UIAttendanceWnd__scalar_dtorScalar deleting destructor for UIAttendanceWnd. Calls destructor then optionally frees 0xD0 bytes if bit 0 of param_2 is set.
0x007BA470274UIAttendanceWnd__CreateRewardWidgetsCreates 3 pairs of UI widgets for displaying attendance rewards. Each pair consists of a text widget (ID 0x1DE) and an icon widget (ID 0x1DF). Uses UIWidget__ctor and adds them to the parent window.
0x007BA590906UIAttendanceWnd__DrawRewardListDraws the attendance reward list. Iterates through reward entries from global DAT_017387b0, showing/hiding widgets. Renders item names with formatting (" %d" count display). Colors completed items green (0xDFF6F) and unclaimed white (0xFFFFFF). Two passes for different display modes.
0x007BA920245UIAttendanceWnd__OnMessageMessage handler for attendance window. Handles msg 0x22 (selection changed - stores reward data), msg 0x62 with param 0x1DE (toggle attendance entry visibility) and 0x1DF (claim reward via packet 0x10E). Delegates unknown messages to base class.
0x007BAC40187UIBattlefieldWnd__ctorConstructor for UIBattlefieldWnd. Initializes vtable to PTR_FUN_01123458. Sets various state fields: mode flags (0x43, 0x44 = 1), enabled flag (0x45 = 1), counters and state at offsets 0x50-0x53 to 0.
0x007BAD0097UIBattlefieldInfoWnd__ctorConstructor for UIBattlefieldInfoWnd. Sets vtable to PTR_FUN_011231c8. Calls helper_005ca660 for additional initialization.
0x007BAD70173UIBattlefieldScoreWnd__ctorConstructor for UIBattlefieldScoreWnd. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_0112337c. Initializes two std::string members (offsets 0x4C and 0x4E with capacity 0xF each) and a flag at 0x54.
0x007BAE20269UIBattlefieldResultWnd__ctorConstructor for UIBattlefieldResultWnd. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_011232a0. Initializes two std::string members, score counters (0x55-0x58), a third std::string, and a boolean flag at offset 0xAD.
0x007BAF3096UIBattlefieldQueueWnd__ctorConstructor for UIBattlefieldQueueWnd. Sets vtable to PTR_FUN_011230f0. Initializes queue data pointer at offset 0x35 to 0.
0x007BAF90148CBattlefieldManager__ctorConstructor for CBattlefieldManager. Sets vtable to PTR_FUN_01123608. Allocates two linked list sentinel nodes: one 0x2C-byte node (team/player data) and one 0xC-byte node (simple list). Sets enabled flag at offset 1 to true.
0x007BB03086UIBattlefieldMiniMapWnd__ctorConstructor for UIBattlefieldMiniMapWnd. Sets vtable to PTR_FUN_01123530. Simple base class initialization only.
0x007BB09067CBattlefieldManager__FreeNodeBuffer2cFrees the 0x2C-byte buffer at offset +4 of the battlefield manager node if non-null.
0x007BB0E078CBattlefieldManager__FreeNodeBuffer2c_2Frees the 0x2C-byte buffer at offset +4 of the battlefield manager node if non-null (variant).
0x007BB140103CBattlefieldManager__FreeLinkedList0cFrees a linked list of 0xC-byte nodes. Walks the chain via the first pointer of each node, freeing each one, then frees the sentinel node.
0x007BB1B0103CBattlefieldManager__FreeLinkedList2cFrees a linked list of 0x2C-byte nodes. Walks the chain via the first pointer of each node, freeing each one, then frees the sentinel node.
0x007BB22095UIBattlefieldWnd__dtorDestructor for UIBattlefieldWnd. Restores vtable to PTR_FUN_01123458, calls cleanup FUN_00739f60, then base destructor FUN_008a4e90.
0x007BB280127UIBattlefieldInfoWnd__dtorDestructor for UIBattlefieldInfoWnd. Restores vtable, destroys two std::string members, then calls base destructor FUN_008a4e90.
0x007BB300110UIBattlefieldScoreWnd__dtorDestructor for UIBattlefieldScoreWnd. Restores vtable, destroys two std::string members, calls base destructor FUN_008511b0.
0x007BB370172UIBattlefieldResultWnd__dtorDestructor for UIBattlefieldResultWnd. Restores vtable, destroys five std::string members (including one via delegate pointer), calls base destructor FUN_008511b0.
0x007BB42071UIBattlefieldQueueWnd__dtorDestructor for UIBattlefieldQueueWnd. Restores vtable to PTR_FUN_011230f0, calls base destructor FUN_008a4e90.
0x007BB470193CBattlefieldManager__dtorDestructor for CBattlefieldManager. Restores vtable. Frees both linked lists: the 0xC-byte node list and the 0x2C-byte node list, walking and freeing each chain.
0x007BB54071UIBattlefieldMiniMapWnd__dtorDestructor for UIBattlefieldMiniMapWnd. Restores vtable to PTR_FUN_01123530, calls base destructor.
0x007BB590119UIBattlefieldWnd__scalar_dtorScalar deleting destructor for UIBattlefieldWnd. Clears item vector, calls base dtor, optionally frees 0x154 bytes.
0x007BB610151UIBattlefieldInfoWnd__scalar_dtorScalar deleting destructor for UIBattlefieldInfoWnd. Destroys strings, calls base dtor, optionally frees 0x104 bytes.
0x007BB6B0134UIBattlefieldScoreWnd__scalar_dtorScalar deleting destructor for UIBattlefieldScoreWnd. Destroys strings, calls base dtor, optionally frees 0x154 bytes.
0x007BB740196UIBattlefieldResultWnd__scalar_dtorScalar deleting destructor for UIBattlefieldResultWnd. Destroys 5 strings, calls base dtor, optionally frees 0x1C8 bytes.
0x007BB81099UIBattlefieldQueueWnd__scalar_dtorScalar deleting destructor for UIBattlefieldQueueWnd. Calls base dtor, optionally frees 0xE8 bytes.
0x007BB880214CBattlefieldManager__scalar_dtorScalar deleting destructor for CBattlefieldManager. Frees both linked lists (0xC and 0x2C nodes), optionally frees 0x18 bytes.
0x007BB96099UIBattlefieldMiniMapWnd__scalar_dtorScalar deleting destructor for UIBattlefieldMiniMapWnd. Calls base dtor, optionally frees 0xEC bytes.
0x007BB9D0164CBattlefieldManager__AddToListAdds an entry to the battlefield manager's linked list. Allocates a 0xC-byte node, stores param_2 at offset +8, and inserts it at the tail of the doubly-linked list. Throws std::_Xlength_error if list count reaches 0x15555555.
0x007BBA80710UIBattlefieldWnd__UpdateTeamNamesUpdates team name displays for the battlefield window. Reads team names via FUN_00858d20, checks if empty via FUN_007bbfc0. If not empty, formats with snprintf and hides the corresponding label widget at offsets 0xB8 and 0xBC.
0x007BBD50244CBattlefieldManager__GetOrCreateInstanceSingleton accessor for CBattlefieldManager. Creates the instance (DAT_01450cec) on first call, allocating 0x18 bytes and initializing linked lists. Returns 1 if manager is active, 0 if creation failed or already destroyed.
0x007BBE5027CBattlefieldManager__DestroyInstanceDestroys the singleton CBattlefieldManager instance (DAT_01450cec). Calls the scalar deleting destructor and sets the global pointer to NULL.
0x007BBE7022get_battlefield_emblem_dataReturns a pointer to emblem/icon data for a battlefield team. param_1 selects team index (0-3), param_2 selects variant (1=primary, other=secondary). Returns NULL for invalid indices.
0x007BBF00116get_battlefield_mode_nameReturns the localized name string for a battlefield mode. param_1 is mode index (0-6), each calling FUN_00b00f00 with different string IDs. Returns empty string for invalid modes.
0x007BBF9039CLinkedList__find_by_idSearches a linked list (starting from +0x10) for a node whose third field matches param_2. Returns 1 if found, 0 if not. Iterates until reaching the head sentinel node.
0x007BBFC0171is_string_all_digitsChecks if a std::string contains only digit characters. Iterates through each character calling isdigit(). Returns 1 if all characters are digits and string is non-empty, 0 otherwise. Destructs the string parameter on exit.
0x007BC070150UIAdventurerAgencyWnd__OnCloseClose handler for the Adventurer Agency window. Sets visibility flag and calls vtable method +0x98 on three child controls (+0xF8, +0xFC, +0xBC), then calls handler_005cbee0 and conditionally handler_005cb710 if DAT_01737a9c == 1.
0x007BC110258UIAdventurerAgencyWnd__process_queueProcesses the adventurer agency's pending request queue. Checks if there are items in the linked list at +0x8, cross-references with the list at +0x10, and either creates the item via vtable +0x94 (passing 0x38-byte data block) or removes duplicates. Recursively calls itself after processing each item. Decrements the count at +0xC.
0x007BC2205954UIAdventurerAgencyWnd__OnCreate_mainMain creation/initialization function for the Adventurer Agency window (UIadventurerAgency). Too large to decompile (5954 bytes). Creates and configures multiple child UI controls.
0x007BD970915UIAdventurerAgencyWnd__create_top_sectionCreates the top section of the Adventurer Agency window. Sets up 3 image buttons with message IDs 0xD2E, 0xD2D, 0xBE5, positioned at specific coordinates. Also fetches a list of items via FUN_00b00f00(0xD2A) and creates labeled text controls for each item in a scrollable area (0x88 + 0xC*i y-positions).
0x007BDD104784UIAdventurerAgencyWnd__create_detail_sectionCreates the detail/content section of the Adventurer Agency window. References string "UIadventurerAgency" and button textures like "btn_job_def_on/off", "btn_job_heal_on/off", "btn_job_atk_on/off", "btn_job_buf_on/off". Creates job filter buttons (4 types), text controls, a scrollable list (UIScrollableWidget), and conditionally creates different layouts based on DAT_01389848+5 flag. Adds multiple message IDs (0xD20-0xD25, 0xD31) to the scroll list.
0x007BEFD01352UIAdventurerAgencyWnd__create_bottom_sectionCreates the bottom section of the Adventurer Agency window. Sets up an image button (0x120 alloc via FUN_0084eab0), a text label, tab buttons with IDs 0x21D/0x21E, a colored scroll list (UIColoredScrollListBase), an input field (FUN_0084f010), and another scroll list for received data (0xDBE). Positions controls with specific coordinates and configures tab switching.
0x007BF5A0795UIAdventurerAgencyWnd__draw_info_panelDraws the info panel content for the Adventurer Agency window. Displays background image, party name, member count (%d/%d format), battlefield mode name, job preference icons (4 job types: def/heal/atk/buf with on/off states at +0xB8 through +0xBB), and additional text fields. Uses get_battlefield_mode_name for the mode display.
0x007BF8C0742UIAdventurerAgencyWnd__draw_list_itemDraws an individual list item in the Adventurer Agency window. Displays item image (selected from 3 image paths based on +0x30 value), party name, battlefield mode, job preference icons (4 types at offsets +0x180 to +0x183), and additional info text. Conditionally shows overlay image if +0xAC flag set and +0x114 not zero.
0x007BFC2074UIAdventurerAgencyWnd__draw_empty_stateDraws the empty state / placeholder for the Adventurer Agency window when no data is available. Displays a background image and a message string (ID 0xDB1).
0x007C12EB254CPacketHandler__send_obfuscated_chat_messageCPacketHandler: send obfuscated chat message
0x007C2540131TooltipTree__destroy_nodes_recursiveRecursively destroys tooltip tree nodes: traverses left subtree, destroys data, frees 0x1C-byte node
0x007C25D0473TooltipTree__copy_constructDeep-copies tooltip tree: iterates source linked list, copies string data and int pairs for each node
0x007C284067TooltipTree__free_node_0x30Frees a 0x30-byte tooltip tree node if field +4 is non-null
0x007C289067TooltipTree__free_node_0x1CFrees a 0x1C-byte tooltip tree node if field +4 is non-null
0x007C28E0113TooltipTree__destroy_and_free_0x30Destroys tooltip node data via destructor then frees 0x30-byte node memory
0x007C2960123TooltipTree__clear_linked_listClears tooltip linked list: unlinks sentinel, iterates and destroys+frees each 0x28-byte string node
0x007C29E076TooltipTree__destroy_and_free_sentinelDestroys all nodes via recursive traversal then frees 0x1C-byte sentinel node
0x007C2A40116TooltipTree__destroy_list_and_free_nodeDestroys child linked list entries then frees 0x1C-byte parent node
0x007C2AC078TooltipTree__free_sentinel_onlyFrees 0x1C-byte sentinel node if field +4 is non-null; no child cleanup
0x007C2B10131TooltipTree__destroy_all_0x30_nodesWalks linked list destroying each 0x30-byte node data then frees sentinel node
0x007C2BA087TooltipTree__destroy_and_free_sentinel_altDestroys all nodes via recursive traversal then frees 0x1C-byte sentinel; alternate entry point
0x007C37A095ItemShopWnd__constructorConstructs item shop window: calls base constructor then sets vtable PTR_FUN_01124278
0x007C380084ItemShopWnd__destructorDestructor: sets both vtables then calls base class destructor
0x007C386071ItemShopWnd__base_destructorBase-class destructor: sets vtable PTR_FUN_0112419c then calls parent destructor
0x007C38B0112ItemShopWnd__scalar_deleting_destructorScalar deleting destructor: runs destructor chain then optionally frees 0xB0-byte object
0x007C392099ItemShopWnd__scalar_deleting_destructor_baseBase scalar deleting destructor: sets vtable then optionally frees 0xB0-byte block
0x007C3990318ItemShopWnd__create_scrollbarsCreates horizontal and vertical scrollbar controls if not already present; positions them and updates display
0x007C3AD062ItemShopWnd__handle_scroll_inputHandles mouse wheel scroll: sends +15 or -15 scroll message based on direction if scrollable flag set
0x007C3B10173ItemShopWnd__process_message_scrollProcesses scroll messages (type 7): clamps offset, updates scroll position; type 0x3C forwards to parent
0x007C3D60269ItemShopGridWnd__constructorConstructs item grid window: inits vector, creates format handler and scroll observer, sets vtable 0112435C
0x007C3E9072ItemShopGridWnd__observer_destructorDestructor for scroll observer: resets vtable to base scalar deleting destructor
0x007C3EE0191ItemShopGridWnd__destructorDestructor: cleans up format handler, observer, clears item vector, calls base destructor chain
0x007C3FA097ItemShopGridWnd__observer_scalar_dtorScalar deleting destructor for observer: resets vtable then optionally frees 4-byte object
0x007C4010215ItemShopGridWnd__scalar_deleting_destructorScalar deleting destructor: full cleanup of grid window then optionally frees 0xC4-byte object
0x007C40F09ItemShopGridWnd__virtual_init_callDispatches to virtual method +0x3C (create items callback)
0x007C4110812ItemShopWnd__update_item_gridUpdates item shop grid from item list: hides old items, creates new item controls in 5-column grid layout
0x007C444013ItemShopGridWnd__default_initDefault init: calls virtual +0xD8 with param 0 (initial display mode)
0x007C449064ItemShopGridWnd__process_resize_messageHandles resize messages 0xAE and 0xAF: forwards to child controls at +0xC0/+0xBC
0x007C4810251EmotionShopGridWnd__constructorConstructs emotion shop grid: inits vectors, string, format handler; vtable PTR_FUN_0112444c
0x007C491067EmotionShopGridWnd__free_sentinel_0xCFrees 0xC-byte sentinel node if field +4 is non-null
0x007C4960102EmotionShopGridWnd__clear_linked_listClears linked list of 0xC-byte nodes: unlinks and frees each node
0x007C49D0103EmotionShopGridWnd__destroy_node_listDestroys entire node linked list including sentinel: walks and frees each 0xC-byte node
0x007C4AD0180EmotionShopGridWnd__destructorDestructor: cleans up format handler, string, vectors; calls base ItemShopWnd destructor chain
0x007C4B9083EmotionShopGridWnd__free_node_chainFrees chain of 0xC-byte linked nodes starting from field +4
0x007C4BF0204EmotionShopGridWnd__scalar_deleting_destructorScalar deleting destructor: cleans up format handler, string, vectors then optionally frees 0xD8-byte object
0x007C4CC09EmotionShopGridWnd__virtual_init_callDispatches to virtual method +0x3C (create items callback)
0x007C4CD049EmotionShopGridWnd__find_item_by_idSearches linked list for item with matching ID at +0xA8; returns item pointer or 0 if not found
0x007C529013EmotionShopGridWnd__default_initDefault init: calls virtual +0xD8 with param 0 (initial display mode)
0x007C52B049EmotionShopGridWnd__process_resize_messageHandles resize message 0xAE: forwards to child control at +0xBC; other msgs go to scroll handler
0x007C52F071EmotionShopGridWnd__set_item_display_modeFinds item in vector by ID (+0xA8 match) and calls its virtual +0xD8 to set display mode
0x007C5590251SaleShopGridWnd__constructorConstructs sale shop grid: inits vectors, string, format handler; vtable PTR_FUN_01124638
0x007C5690129SaleShopGridWnd__dealloc_item_vectorDeallocates the item pointer vector buffer with aligned free support; resets begin/end/capacity to null
0x007C5720180SaleShopGridWnd__destructorDestructor: cleans up format handler, string, item vector; calls base ItemShopWnd destructor chain. Does NOT free the object itself.
0x007C57E071SaleShopGridWnd__observer_destructorObserver destructor: sets vtable to SaleShopGridWnd observer vtable then calls UIPartyBookingWnd base destructor
0x007C5830204SaleShopGridWnd__scalar_deleting_destructor_007c5830Scalar deleting destructor: full cleanup (format handler, string, vector, base chain) then optionally frees 0xD8-byte object
0x007C590099SaleShopGridWnd__scalar_deleting_destructorScalar deleting destructor for SaleShopGridWnd: sets vtable, calls UIPartyBookingWnd destructor chain, optionally frees 0xE0-byte object
0x007C59709SaleShopGridWnd__virtual_init_callDispatches to virtual method +0x3C (create items callback)
0x007C59A0359SaleShopGridWnd__create_category_sectionCreates a shop category section (basic/purchase/unpurchased) with title from EMSG_SEARCH_WND strings
0x007C5B10624SaleShopGridWnd__update_search_resultsUpdates shop search results: clears items, splits results into 3 categories, creates sections, rebuilds scrollbars
0x007C5D8013SaleShopGridWnd__default_initDefault init: calls virtual +0xD8 with param 0
0x007C5DA049SaleShopGridWnd__process_resize_message_altHandles resize message 0xAE: forwards to child at +0xBC; other msgs go to scroll handler
0x007C6030202SearchShopGridWnd__constructorConstructs search shop grid: inits vector, string; vtable PTR_FUN_0112477c
0x007C610067SearchShopGridWnd__free_sentinel_0xCFrees 0xC-byte sentinel node if field +4 is non-null
0x007C6150102SearchShopGridWnd__clear_linked_listClears linked list of 0xC-byte nodes: unlinks and frees each node
0x007C61C0103SearchShopGridWnd__destroy_node_listDestroys entire linked list including sentinel: walks and frees each 0xC-byte node
0x007C62C0154SearchShopGridWnd__destructorDestructor: cleans up string, vectors; calls base ItemShopWnd destructor chain
0x007C636083SearchShopGridWnd__free_node_chainFrees chain of 0xC-byte linked nodes starting from field +4
0x007C63C0178SearchShopGridWnd__scalar_deleting_destructorScalar deleting destructor: full cleanup then optionally frees 0xD4-byte object
0x007C648068SearchShopGridWnd__highlight_selected_itemHighlights item in grid matching param_2 ID by setting selection state on each control

Part 2 of Game Core: functions 1,916 to 3,427, 0x007C64D0 to 0x008EE7F0