Game
CGameMode, CRenderer, C3dActor, CEffectManager, CTextRenderer, CD3DDeviceState, CMatrix, CTexture, CSurface, CCamera, CFontManager, CMapManager, CCharacter, CActObject, C3dGrannyActor, CNavigation, CAchievementMgr, CSession, CItemOwner, CAI, CReplayFile, CModeMgr
| Address | Size | Name | Description |
|---|---|---|---|
| 0x00C77120 | 1478 | CGameMode__HandleEntityHover | Processes mouse hover over game entities to update cursor type and handle targeting/attack initiation based on entity type and modifier keys. |
| 0x00C77820 | 2276 | CGameMode__UpdateSkillCursor | Updates cursor appearance and floating text labels during skill targeting mode in game UI. |
| 0x00C78140 | 49 | CGameMode__PeriodicUICleanup | Periodically frees UI window frame buffer when 1000ms timeout elapses; updates last cleanup timestamp. |
| 0x00C78180 | 4873 | CGameMode__HandleEntityClick | Processes entity clicks (left/right/NPC/warp/monster) with modifier keys, handles targeting and AI commands for homunculus/mercenary. |
| 0x00C79610 | 2085 | CGameMode__HandleEntityTarget | Processes entity targeting for attacks/skills; validates target type, checks skill requirements, manages cursor states and attack mode flags. |
| 0x00C79E50 | 49 | CGameMode__PeriodicUICleanup_B | Periodically flushes UI frame buffer every 1000ms using timestamp-based throttling |
| 0x00C79E90 | 244 | pkt_handler__play_3d_sound_effect | Processes queued 3D sound effects by iterating through a linked list, calculating distances to target actors, and playing sounds via CSoundManager. |
| 0x00C79F90 | 1225 | CGameMode__HandleCameraInput | Handles camera input and movement in different game modes (1=UI, 2=normal gameplay, 4=special), processes key states and camera angle clamping. |
| 0x00C7A460 | 11507 | CGameMode__ProcessCommand | CGameMode::ProcessCommand - Main command dispatcher (11507 bytes). Giant switch on param_2 (command ID ~0-0x117+). Handles: chat input with % (party), $ (guild), # (battleground) prefixes; Ctrl/Alt/CapsLock modifiers; NPC dialog (case 0x12/0x13 sends packet 0xCF); skill targeting (case 0x19); shortcut bar commands; AI trace toggle (case 0xA2, writes TraceAI.txt); screenshot toggle (case 0x68, creates screenshot dir); admin debug toggle (case 0xB5, checks IsAdmin); chat log recording (case 0x117, writes to file via fopen); navigation packets (case 0xE4, sends packet 0xA77 with coordinates). Many cases simply forward to vtable+0x18 (SendCommand). param_1=this, param_2=cmdID, param_3=args array. |
| 0x00C7D4F0 | 1219 | CGameMode__ProcessCameraZoom | Processes mouse wheel and gamepad camera zoom with throttling, skill checks, and class-specific zoom limits for mounted units. |
| 0x00C7DA80 | 108 | CGameMode__CopyStringFromPacket | Copies null-terminated string from packet buffer at offset 0x1e with length from offset 6, assigns to std::string. |
| 0x00C7DB80 | 88 | CGameMode__GetWindowAndDispatch | Dispatches UI window messages by type; handles state transitions (0xb8→0xb9) and invokes window handler with packet data. |
| 0x00C7DC00 | 182 | CTripleStringHolder__InitFromPacketString | Initializes CTripleStringHolder from null-terminated packet string at offset 0x33, copying string data via std_string__assign_range. |
| 0x00C7E270 | 114 | CGameMode__InitStringField | Initializes a std::string field in CGameMode by calculating length and assigning from existing memory range. |
| 0x00C7E310 | 280 | pkt_handler__recv_quest_list | Processes incoming quest list packet, copies payload data, updates UI navigation window quest list if enabled. |
| 0x00C7E430 | 99 | CGameMode__CopyStringFields2 | Calculates string length and assigns/initializes a std::string field at offset+6 in CGameMode object |
| 0x00C7E4C0 | 89 | CGameMode__ProcessWindowDispatch | Processes window dispatch by retrieving UI window from type and invoking its message handler with packet data. |
| 0x00C7E520 | 55 | CGameMode__HandleSmallStructPacket | Checks for packet type 0xcb and invokes callback handler with struct data from param_1+10 onwards |
| 0x00C7E560 | 87 | CGameMode__ProcessStringField | Calculates null-terminated string length at offset 0xe when field type is 0x29 or 0xae, then assigns to std::string. |
| 0x00C7E5C0 | 23 | CGameMode__CreateOrToggleWindow_wrapper | Wrapper that extracts a window ID from offset +6 and delegates to CUIWindowMgr to create or toggle UI window. |
| 0x00C7E6C0 | 73 | CGameMode__RemoveActorFromList | Removes actor from doubly-linked entity list by ID, updates list count, and deallocates memory. |
| 0x00C7E710 | 169 | CGameMode__RecordReplayPacket | Records game packet data to motion replay file when recorder is active and recording enabled. |
| 0x00C7E7C0 | 143 | CGameMode__RecordReplayPacket2 | Records motion replay packet when CGameMode packet type 0x45 with size 10000 arrives; writes to media file via CMotionRecorder. |
| 0x00C7E850 | 815 | CReplayFile__BuildPacketBuffer | Builds packet buffer by iterating stored packets, adjusting timestamps, and inserting them into a vector structure for replay. |
| 0x00C7EBD0 | 2281 | CSession__BuildReplayGuildEmblemPackets | Builds and serializes guild emblem packet (0x3248) from user data tree for replay functionality |
| 0x00C7F5A0 | 709 | CSession__BuildReplayHeaderPackets | Constructs replay header packets (0x36BB, 0x36B1, 0x3C8E) with session data for RO replay system. |
| 0x00C7F8B0 | 1018 | CSession__BuildReplayPositionPackets | Constructs replay position packets by allocating buffers, initializing packet data with opcode 0x3A98, and inserting into vector container. |
| 0x00C7FD00 | 3438 | CSession__CreateReplayActorPacketVector | Allocates and initializes a vector containing a replay actor packet with ID 10000 and zero data payload. |
| 0x00C80C80 | 981 | CGameMode__BuildReplayData | Serializes game state to replay buffer: writes packet 0x4268 header, iterates entity list, outputs 0xCD packets with position/direction/class/account data, ends with 0x4269 terminator. |
| 0x00C810A0 | 288 | CReplayFile__SendRecordedPacket | Sends recorded packet data from replay file to motion recorder when in playback mode, combining two data buffers. |
| 0x00C81360 | 569 | pkt_handler__account_config_load | Processes packet 0x32C9-0x32CD to load account config data (strings, linked configs, settings) into game state. |
| 0x00C815D0 | 269 | TLV_ParseRecordBlock | Parses TLV record block with tag 0x36bb, copies data to offset 0x24c, validates tag 0x36b1 terminator. |
| 0x00C816E0 | 429 | pkt_handler__replay_init_data | Parses replay initialization packet (0xF000), iterates skill cast events (0xCF), processes them via pkt_handler__recv_skill_cast_start_v1 |
| 0x00C818B0 | 1084 | CGameMode__ProcessReplayData | Processes replay packet stream by reading 6-byte headers, dispatching to handlers (0xC9-0xD9, 0x191), terminates on 0x2711. |
| 0x00C81E50 | 601 | CSession__parse_map_batch_packet | Parses batch map packets (0xCD NPC spawn, 0xCE elemental spawn) and dispatches to handlers. |
| 0x00C820E0 | 38 | CSession__ClearDialogState | Clears dialog state by zeroing dialog flags and resetting the dialog text string buffer. |
| 0x00C821A0 | 111 | CCamera3D__RotatePointAroundCenter | Rotates a 2D point around a center using angle param, applying 2D rotation matrix transformation. |
| 0x00C82260 | 72 | CCamera3D__SaveConfigAndSendPacket | Saves camera configuration and sends packet 0x7D to server if initialization flag not set, then resets buffer. |
| 0x00C822B0 | 15 | CSession__ParseAccountConfigEntries | Wrapper that delegates account config entry parsing to CAccountLinkedConfigMgr |
| 0x00C822C0 | 67 | CCamera3D__SetEntityNameColor | Sets entity name color by retrieving job ID and looking up appropriate color from game mode, storing result in param_1 structure. |
| 0x00C82310 | 47 | set_global_cursor_position | Updates global cursor X/Y coordinates, skipping update if parameter value is -1 (sentinel). |
| 0x00C82340 | 615 | CGameMode__InitCameraSettings | Initializes camera position, rotation table, field-of-view, and near/far clipping plane parameters from configuration data. |
| 0x00C825C0 | 30 | CSession__SetPartyMemberTarget | Sets party member target by storing character ID and account ID at fixed offsets in CSession object if valid. |
| 0x00C825E0 | 168 | CSession__GetAccountConfigStrings | Retrieves or copies account configuration strings from a session object, handling empty string validation and assignment. |
| 0x00C82880 | 181 | CSession__GetTimestampHash | Generates a time-based hash by XORing two timeGetTime() calls, bit-shifts by param_2, converts to hex string, reverses it, and copies first param_2 chars to output buffer. |
| 0x00C82940 | 197 | CGameMode__InsertWarpPortalEntry | Removes a warp portal entry from hash table by key; handles linked list node deletion and bucket reorganization. |
| 0x00C82A10 | 115 | CSession__SetReplayAnimSpeed | Applies CMotionRecorder playback speed to C3dActor animation for session and all linked actors in list. |
| 0x00C82A90 | 75 | CSession__SendEntityPosition | Sends entity position data via indirect function pointer, likely packet transmission for position synchronization. |
| 0x00C82AE0 | 458 | pkt_handler__loading_tip_update | Handles loading tip packet by looking up config, inserting string data, and updating the loading tip display manager. |
| 0x00C82CD0 | 326 | CSession__send_ping_packet | Sends a 0x360 ping packet at throttled intervals with GameGuard validation and packet logging. |
| 0x00C82E20 | 113 | CSession__HandleReplayPlaybackTiming | Manages motion recorder playback timing by tracking pause/resume state and accumulating elapsed time. |
| 0x00C82ED0 | 49 | CSession__CheckAndResetCooldownTimer | Checks if param_2 milliseconds have elapsed since last reset; updates timestamp at offset 0x5e4 and returns 1 if cooldown expired. |
| 0x00C82F10 | 442 | CSession__SaveChatLogToFile | Writes chat log data to file after admin equipment slot 7 validation, with read-modify-write pattern. |
| 0x00C830D0 | 314 | CSession__save_name_balloon_registry | Saves player name balloon display registry settings to Windows registry under HKEY_LOCAL_MACHINE with position configuration. |
| 0x00C83210 | 206 | registry_write_string_value | Creates/opens HKEY_LOCAL_MACHINE registry key and writes RAGPATH value with game installation directory path. |
| 0x00C833D0 | 704 | CGameMode__RemoveOverlayNode | Removes a node from an overlay tree structure, handling parent/child pointer updates and tree rebalancing. |
| 0x00C83690 | 704 | CGameMode__IterateBuffEffectList | Removes a buff effect node from a tree structure and rebalances it; handles red-black tree node deletion. |
| 0x00C83950 | 704 | CGameMode__IterateTimerEntryList | Removes a timer entry from a tree structure, handles rebalancing and updates head/tail pointers. |
| 0x00C83C10 | 704 | CGameMode__RemoveEffectEventNode | Removes a node from effect event list by performing tree rebalancing and parent pointer updates. |
| 0x00C84D00 | 90 | json_vsprintf_wrapper | Allocates JSON formatter buffer via global allocator and performs vsprintf_s formatting with error handling. |
| 0x00C854C0 | 32 | CSession__SaveConfigIntValue | Resets a specific config value (0x7f4) to 0 when SaveConfigIntValue is called with that parameter ID. |
| 0x00C854E0 | 18 | clear_global_string_fce968 | Clears the global string buffer at DAT_00fce968 by assigning an empty range using std::string assignment. |
| 0x00C85C70 | 200 | CGameMode__GetStatusTooltipString | Retrieves a formatted status tooltip string from a container at given index, returns empty string if index out of bounds. |
| 0x00C85ED0 | 29 | noop_stub_c85ed0 | No-op stub that performs no meaningful operation and returns |
| 0x00C85EF0 | 73 | json_sprintf_wrapper | Formats hardcoded debug/telemetry data (integer, float, string) into JSON via vsprintf wrapper. |
| 0x00C85F40 | 23 | CSession__purecall_stub | Calls purecall handler with session object pointer; handles pure virtual function invocation error in CSession class |
| 0x00C85F60 | 33 | is_shadow_equip_type | Checks if item type ID falls within shadow equipment range (0x3DE-0x3E1 / 990-993) |
| 0x00C85FA0 | 33 | is_shadow_equip_type_2 | Checks if item type ID is in shadow equipment range (0x3E2-0x3E5 / 994-997), returns 1 if true, 0 if false. |
| 0x00C86110 | 57 | is_status_effect_active | Checks if a status effect ID is active by querying poison/bleeding status first, then searching the status effect list. |
| 0x00C864C0 | 234 | CSession__format_actor_chat_message | Formats actor chat message into buffer using allocator; validates actor existence before processing string data. |
| 0x00C86740 | 176 | CGameMode__ProcessMainLoop | CGameMode: ProcessMainLoop |
| 0x00C93CB0 | 2250 | CGameMode__HandleStatusIconTooltip | Displays tooltip for hovered status icons by calculating grid position and retrieving description text via Lua callbacks. |
| 0x00C94810 | 613 | CGameMode__ShowItemList | Creates/initializes item selection list UI widget, populates it from param_2 buffer entries, positions at screen coordinates, manages linked list of item nodes. |
| 0x00C96670 | 67 | CGameMode__FindOrInsertActor | Locates or retrieves actor entry via lower_bound search; returns existing match or default fallback. |
| 0x00C9B0D0 | 131 | decode_packed_item_option_bits | Unpacks 6 bytes into 7 ten-bit item option values used in RO item attribute encoding. |
| 0x00C9B160 | 1220 | CItemSlotManager__InitEquipSlotMapA | Initializes a red-black tree map associating 9 equipment slots to their sprite IDs for client rendering. |
| 0x00C9B630 | 1220 | CItemSlotManager__InitEquipSlotMapB | Initializes equipment slot mapping with bit-based slot IDs (1,2,4,8...) to sprite IDs (0x373-0x37B) in red-black tree structure |
| 0x00C9BB00 | 253 | normalize_equip_slot_id | Maps equipment slot IDs from multiple packet protocol versions (0xFA1-0x10D4 ranges) to canonical slot numbers 0-20. |
| 0x00C9BE10 | 901 | init_ranking_categories_map | Initializes red-black tree map with 4 ranking categories (Blacksmith, Alchemist, Taekwon, Killer) with display colors |
| 0x00C9CDC0 | 31 | is_poison_or_bleeding_status | Checks if a status effect ID is poison (0x28) or bleeding (0x2a), returns 1 if true, 0 otherwise. |
| 0x00C9CDE0 | 73 | CSession__ShouldInitializeActorFields | Determines whether to initialize actor fields for entity spawn based on packet type/entity ID. |
| 0x00C9D010 | 23 | pkt_dispatch__vending_item_result | Dispatches vending item result packet by extracting status byte and item ID, forwarding to handler. |
| 0x00C9D680 | 88 | CSession__CheckTargetAndNotify | Validates target is targetable; if not, finds actor by AID and invokes virtual method (likely packet handler 0x22) with coordinate parameters. |
| 0x00C9D6E0 | 34 | pkt_dispatch__item_obtained | Dispatches item obtained packet by calling CGameMode::OnItemObtained with parsed packet fields (item ID, quantity, etc.) |
| 0x00C9DBC0 | 33 | pkt_dispatch__security_check | Dispatches packet security validation by extracting length from packet header and delegating to CSecurityMgr |
| 0x00C9DC30 | 35 | pkt_dispatch__item_obtained_by_name | Packet dispatcher that extracts item obtain data from packet buffer and invokes CGameMode handler to process item acquisition event by name. |
| 0x00C9DF00 | 979 | CGameMode__PacketDispatchLoop | Main packet dispatch loop for CGameMode; reads/dispatches packets via jump table, manages connection state and ping logging. |
| 0x00CAE3A0 | 35 | CSession__FindActorAndSetGuildId | Looks up actor by AID and sets guild ID on the found 3D actor if it exists. |
| 0x00CAED90 | 48 | pkt_handler__skill_add_wrapper | Wrapper that extracts skill packet data and calls CGameMode::OnSkillAdd to register a new skill. |
| 0x00CAF6E0 | 69 | pkt_handler__entity_effect_timer | Applies a timed effect (ID 0x52) to an entity by AID, duration converted from deciseconds to milliseconds. |
| 0x00CAF860 | 48 | pkt_handler__skill_info_update | Packet handler that forwards skill info update data to CGameMode, extracting fields from packet buffer at fixed offsets. |
| 0x00CB1200 | 383 | pkt_handler__map_change_and_ping_log | Handles map change packet: sets server time/coordinates, loads RSW file, logs connection info to PingLog.txt if enabled. |
| 0x00CB13A0 | 88 | pkt_handler__emotion_expansion_buy_success | Handles emotion expansion purchase success packet: updates item catalog, displays success message dialog, and triggers BGM fadeout. |
| 0x00CB1400 | 100 | pkt_handler__entity_status_effect_a0 | Handles 0xA0 status effect packet for player/NPC entities; applies effect to self or remote actor via virtual method. |
| 0x00CB1470 | 205 | pkt_handler__emotion_expansion_buy_fail | Handles emotion expansion purchase failure packet (0x???); displays localized error message dialog based on failure reason code. |
| 0x00CB1570 | 404 | pkt_handler__costume_item_result | Handles costume item equip/unequip packet response; updates inventory, refreshes UI, displays error messages based on result code. |
| 0x00CB1720 | 108 | pkt_handler__mail_result_msg | Handles mail result packet by displaying appropriate message dialog based on result code (0x00=success, 0x01=failure). |
| 0x00CB1790 | 174 | pkt_handler__special_shop_close_result | Handles special shop closure packet (0x21 UI type); shows modal dialog on error, clears shop item list and resets state vars |
| 0x00CB1840 | 293 | pkt_handler__storage_open_result | Handles storage open result packet; displays error messages based on result code (0=success, 1=weight limit, 2=slot limit) |
| 0x00CB1970 | 113 | pkt_handler__whisper_result_msg | Displays whisper/private message result dialog using formatted JSON string from message code 0x97. |
| 0x00CB1C00 | 313 | pkt_handler__party_create_result | Handles party creation result packet (0x00BA), displays error dialogs or opens party window based on result code. |
| 0x00CB2940 | 157 | pkt_handler__pet_action_result | Displays UI dialog messages for pet action results, with different colored messages based on success/failure status codes. |
| 0x00CB29F0 | 356 | pkt_handler__trade_request_result | Handles trade request response packet (0x00/0x01/0x03), managing trade window UI state and displaying result dialogs. |
| 0x00CB2B60 | 265 | pkt_handler__buying_store_result | Handles buying store result packet; displays dialog based on result code (0-3=failure, 1=success with item count). |
| 0x00CB2C70 | 256 | pkt_handler__guild_create_result | Handles guild creation result packet by displaying localized UI dialog messages based on server response code (0-3). |
| 0x00CB2D80 | 155 | pkt_handler__set_party_member_name | Handles party member name packet by showing message dialog and assigning name string from packet data. |
| 0x00CB30A0 | 192 | pkt_handler__parse_guild_member_name | Parses incoming guild member name packet data; validates packet size and deserializes name field into local string buffer. |
| 0x00CB3220 | 303 | pkt_handler__set_guild_notice | Handles guild notice packet (type 3/4); extracts notice text from packet offset +8 (24 bytes) into string buffer. |
| 0x00CB3452 | 230 | CGameMode__handle_char_delete_response_cleanup | Handles cleanup after a character delete response. Processes the server response for character deletion, cleans up associated UI state, and updates the character selection display. |
| 0x00CB3540 | 178 | pkt_handler__guild_emblem_name_validation | Validates guild emblem name packet by checking length (24 bytes) and assigning to string buffer. |
| 0x00CB3680 | 288 | pkt_handler__guild_position_info_set | Handles incoming guild position information packet; initializes string buffer and assigns position data range. |
| 0x00CB3AA0 | 118 | pkt_handler__set_guild_master_name | Extracts and assigns null-terminated guild master name string from packet buffer at offset 0x22. |
| 0x00CB3CE0 | 405 | pkt_handler__debug_stats_display | Displays character stats (STR/AGI/VIT/INT/DEX/LUK, ATK/DEF/ASPD) via CUIWindowMgr message dialogs for GM debug commands. |
| 0x00CB3E80 | 131 | pkt_handler__unequip_item_result | Handles unequip item packet response; on success calls CMode__UnequipItem or CItemOwner__OnUnequipItem, on failure shows error dialog |
| 0x00CB4A90 | 303 | pkt_handler__equip_item_result | Handles equip item result packet (0x00AA): validates item, calls OnEquipItem on success, shows error dialog on failure. |
| 0x00CB4BD0 | 27 | pkt_handler__quest_effect_play | Wrapper that triggers quest effect playback via CTimedEventMgr when packet parameter is non-zero. |
| 0x00CB4BF0 | 40 | pkt_handler__enchant_property_update | Updates enchant properties from packet data and rebuilds quest list UI. |
| 0x00CB4FF0 | 559 | pkt_handler__inventory_add_item_v5 | Handles inventory item addition packet (v5), parsing item properties and updating inventory state with equipped items |
| 0x00CB5220 | 390 | pkt_handler__guild_invite_result | Handles guild invitation response packets by displaying appropriate UI messages based on result code (0-8) with formatted guild name data. |
| 0x00CB5420 | 461 | pkt_handler__cart_add_item_v1 | Parses cart item addition packet, extracts item properties, and adds item to player cart via CItemOwner__AddToCartById. |
| 0x00CB55F0 | 526 | pkt_handler__cart_add_item_v2 | Parses packet for adding item to cart; extracts and validates item attributes (ID, amount, equip, identify flags) |
| 0x00CB5A30 | 245 | pkt_handler__cart_add_item_v3 | Parses packet to extract cart item data and adds item to cart inventory via CItemOwner::AddToCartById. |
| 0x00CB5D40 | 547 | pkt_handler__special_add_item_v2 | Processes incoming item addition packet (v2), parsing item attributes and populating item table with equipment stats. |
| 0x00CB5F80 | 309 | pkt_handler__vending_item_list_entry | Processes vending shop item list entry packet, validates item name via word filter, and stores filtered string. |
| 0x00CB6860 | 46 | pkt_handler__spawn_entity_wrapper3 | Wrapper that extracts packet fields and invokes CGameMode::OnSkillAdd to process skill addition event |
| 0x00CB6A90 | 43 | pkt_handler__npc_shop_reset | Resets NPC shop state by refreshing display, clearing item selection offset, and emptying result string buffer. |
| 0x00CB6B00 | 82 | pkt_handler__skill_tree_update | Processes skill tree update packet; validates 7 skill fields and updates UI window 99 with non-zero skill data. |
| 0x00CB6BC0 | 93 | pkt_handler__refine_result_msg | Displays refine result message dialog based on result code (0=success, 1=failure, 2=downgrade) |
| 0x00CB6C20 | 443 | pkt_handler__party_member_list_update_clear_ui | Clears item slots, converts party member count to string, then toggles party (0x14e) and party info (0x14f) UI windows. |
| 0x00CB6E80 | 317 | pkt_handler__party_member_list_update2 | Handles party member list update packet, initializes item slots and refreshes party/guild UI windows (0x14e, 0x14f). |
| 0x00CB7040 | 492 | pkt_handler__chat_message_received | Handles incoming chat packets: validates message length, applies word filter, displays dialog, updates actor chat bubble, logs to file if enabled. |
| 0x00CB7230 | 124 | pkt_handler__entity_body_state_change | Updates actor body state from packet; refreshes UI icon if state differs from player's state. |
| 0x00CB72B0 | 90 | pkt_handler__entity_fixpos_update | Handles fixed position update packet by finding actor and invoking position change callback with X,Y coordinates from packet offset 0x1e-0x20. |
| 0x00CB7310 | 28 | pkt_handler__set_map_xy_coord_pair | Extracts and stores map X,Y coordinates from packet buffer at offsets +2 and +4 as shorts into global variables. |
| 0x00CB7330 | 45 | pkt_handler__entity_move_to_pos | Handles entity movement packets by calling render function with entity ID and XY coordinates if not player's own account. |
| 0x00CB7360 | 404 | pkt_handler__skill_use_result_msg | Handles skill usage result packet, displays UI dialogs based on result code (success/failure/cooldown), stores skill/target IDs |
| 0x00CB7510 | 425 | pkt_handler__whisper_message_received | Processes incoming whisper message packet by extracting message text, applying word filter, and storing filtered result. |
| 0x00CB7A40 | 310 | pkt_handler__broadcast_message_received | Handles incoming broadcast message packets by extracting and validating message text with bounds checking before processing. |
| 0x00CB8720 | 103 | pkt_handler__set_npc_dialog_text | Assigns NPC dialog text from packet buffer at offset 9, using length from packet header at offset 2. |
| 0x00CB8830 | 166 | pkt_handler__npc_menu_text_assign | Assigns NPC menu text from packet buffer at offset 9 to string object at offset 10, likely parsing NPC dialogue options. |
| 0x00CB8967 | 1176 | CItemTable__show_item_acquired_dialog | Shows a dialog when an item is acquired. Formats the item name with GetMsgString (0x74c for type2, 0x65c/0xf91 for others) and shows it via CUIWindowMgr__ShowMessageDialog. Also updates tooltip if a path component exists. |
| 0x00CB8E20 | 138 | pkt_handler__auction_item_list | Parses auction item list packet, validates data, inserts items into catalog with timestamps and timezone info. |
| 0x00CB8EB0 | 120 | pkt_handler__entity_name_title | Handles incoming packet to set entity name/title; extracts 80-byte string from packet offset +6, finds actor by ID at offset +2, invokes virtual method 0x8d with title data. |
| 0x00CB8F30 | 354 | pkt_handler__skill_cooldown_insert_or_update | Handles skill cooldown packet by inserting/updating cooldown data in red-black tree with skill ID, duration, and position coordinates. |
| 0x00CB9130 | 340 | pkt_handler__inventory_item_list_v1 | Processes inventory item list packet, parsing items into cart/inventory and refreshing guild window display. |
| 0x00CB9290 | 363 | pkt_handler__inventory_item_list_v2 | Processes inventory item list packet (0x1EE or similar), parsing items into cart/inventory and refreshing guild window UI. |
| 0x00CB9400 | 331 | pkt_handler__cart_item_list_v3 | Parses packet containing cart inventory items, deserializes item data, and updates cart UI via CItemOwner. |
| 0x00CB9550 | 355 | pkt_handler__inventory_item_list_v4 | Processes inventory item list packet (v4 format), parses 37-byte item entries, populates cart inventory via CItemOwner, updates guild window UI. |
| 0x00CB96C0 | 682 | pkt_handler__inventory_item_list_v5 | Processes inventory item list packet (v5 format), parses item entries and populates cart inventory via CItemOwner. |
| 0x00CB9970 | 731 | pkt_handler__inventory_item_list_v6 | Processes inventory item list packet (v6 format), parsing 0x43-byte item entries and populating item table with properties. |
| 0x00CB9C50 | 315 | pkt_handler__inventory_item_list_v7 | Processes inventory item list packet (v7), populating cart with items and refreshing guild window UI. |
| 0x00CB9D90 | 325 | pkt_handler__inventory_item_list_v8 | Processes inventory item list packet (v8), populating cart with items and refreshing guild window display. |
| 0x00CB9EE0 | 329 | pkt_handler__inventory_item_list_v9 | Parses inventory item list packet (v9 format), populates cart with items via CItemOwner, refreshes guild window |
| 0x00CBA030 | 325 | pkt_handler__inventory_item_list_v10 | Processes inventory item list packet (0x0A37?), deserializes item data into cart/inventory, refreshes guild window UI. |
| 0x00CBA180 | 301 | pkt_handler__inventory_item_list_v11 | Parses inventory item list packet (v11), populates cart inventory via CItemOwner, updates guild window display. |
| 0x00CBA2D0 | 200 | pkt_handler__item_removal_with_msg | Handles packet removing item from inventory and displaying item removal message dialog with item name from message table. |
| 0x00CBA3A0 | 327 | pkt_handler__item_expiration_timer | Displays item expiration warning dialog; formats remaining time in seconds or minutes from packet data. |
| 0x00CBA500 | 48 | pkt_handler__entity_vfunc_c0_call | Finds actor by AID and invokes virtual function at offset 0xc0 with packet parameters as arguments. |
| 0x00CBA530 | 178 | pkt_handler__npc_script_message | Processes NPC script message packet by storing message ID and copying script text from packet buffer. |
| 0x00CBA700 | 183 | pkt_handler__entity_speed_and_class_update | Updates player/entity movement speed from packet data; calls speed change handler for player or remote actor by AID |
| 0x00CBA7C0 | 316 | pkt_handler__party_leader_change | Handles party leader change packet: updates favorite item types, displays message dialog, refreshes party UI window. |
| 0x00CBA900 | 461 | pkt_handler__homunculus_stat_update | Processes homunculus stat update packets (cases 0-3), updating global state, UI dialogs, and triggering callbacks based on packet type. |
| 0x00CBAAE0 | 1040 | pkt_handler__mercenary_stat_update | Processes mercenary stat update packets (cases 0-3), updating actor stats, rarity tier, level, and spawn effects |
| 0x00CBAF10 | 253 | pkt_handler__npc_shop_open_or_refresh | Handles NPC shop open/refresh packets by initializing shop data and triggering UI window manager events for shop display. |
| 0x00CBB030 | 86 | pkt_handler__entity_class_change | Handles entity class change packet by updating mode data and setting delayed timer for player or actor by AID. |
| 0x00CBB090 | 88 | pkt_handler__char_rename_result | Handles character rename result packet (0x271b), displays success (0x33) or failure (0x34) via UI window callback. |
| 0x00CBB0F0 | 267 | pkt_handler__config_option_change | Handles server config option change packets (cases 0-5), updating client settings and displaying UI dialogs based on option type. |
| 0x00CBB220 | 94 | pkt_handler__party_autoitem_state | Handles party auto-item state packet, updates UI dialog with enabled/disabled message string |
| 0x00CBB280 | 237 | pkt_handler__quest_complete_msg | Handles quest completion packet: retrieves enchant item info, updates quest list, displays completion message dialog to player UI |
| 0x00CBB370 | 239 | pkt_handler__item_delete_from_inventory | Handles item deletion packet: removes inventory item, clears equip slots, updates UI state, and removes enchant effects if applicable. |
| 0x00CBB460 | 176 | pkt_handler__cart_item_remove | Handles cart item removal packet by clearing item table, extracting item ID/quantity from packet, and removing item from cart inventory. |
| 0x00CBB510 | 176 | pkt_handler__special_item_remove | Handles packet to remove special item from inventory; clears item table and marks removal flag in game state. |
| 0x00CBB5C0 | 375 | pkt_handler__map_warp_result | Processes map warp result packet, handles success/failure cases, updates party window, displays error dialogs for warp failures. |
| 0x00CBB7C0 | 132 | pkt_handler__entity_vanish_and_ui_close | Handles entity disappearance packet by removing actor and closing associated UI windows if entity matches session target. |
| 0x00CBB850 | 515 | pkt_handler__devotion_target_list | Processes devotion target list packet, creates visual effects (0xe8) on up to 5 targets and validates against overflow. |
| 0x00CBBA60 | 64 | pkt_handler__entity_effect_8e | Handles packet 0x8E by finding actor via AID and invoking virtual method at offset +8 with effect ID parameter. |
| 0x00CBBAA0 | 336 | pkt_handler__entity_clear_body_effects | Clears body effects (0x54, 0x57, 0x53) from player or target actor; triggers special effect 0x45a for others. |
| 0x00CBBBF0 | 124 | pkt_handler__mvp_exp_msg | Displays MVP EXP reward message dialog by formatting EXP value and showing it in UI message window. |
| 0x00CBBC70 | 112 | pkt_handler__elemental_spirit_init | Initializes elemental spirit by setting active entity, storing spirit stats (6 DWORDs), and invoking entity method 0x22. |
| 0x00CBBCE0 | 130 | pkt_handler__elemental_spirit_stat_update | Updates elemental spirit stat values (cases 5-8) and triggers actor refresh via virtual method at offset +8. |
| 0x00CBBD80 | 85 | pkt_handler__entity_status_effect_a0_simple | Handles packet 0xA0 to apply a status effect to an entity (player or actor) by ID and effect type. |
| 0x00CBBDE0 | 1007 | pkt_handler__npc_shop_buy_and_display | Handles NPC shop purchase packet: validates NPC actor, clears shop data, creates shop UI window, processes item list. |
| 0x00CBC420 | 834 | pkt_handler__equip_item_break_notification | Handles packet notification for equipped item breaking, displays message to player or party member based on account ID match. |
| 0x00CBC880 | 496 | pkt_handler__full_equip_list_v1 | Processes full equipment list packet, populates inventory/equipment slots, handles AP skill items, refreshes UI windows. |
| 0x00CBCA70 | 554 | pkt_handler__full_equip_list_v2 | Processes full equipment list packet v2: clears inventory, parses item data, equips items to slots, handles AP skills, refreshes UI. |
| 0x00CBCCA0 | 487 | pkt_handler__full_equip_list_v3 | Processes v3 full equipment list packet: clears old items, parses equipment data, handles AP skill items, equips/inventories items, refreshes UI. |
| 0x00CBF8C0 | 64 | pkt_handler__friend_status_update | Handles friend status update packet by updating friend data and refreshing party window if online status changed. |
| 0x00CC0BC0 | 84 | pkt_handler__homunculus_stat_value_set | Handles homunculus stat packets, updating HP/SP/level values and invalidating status window display. |
| 0x00CC15E0 | 1215 | pkt_handler__equip_item_ack_v1 | Processes ZC_EQUIPITEM_ACK packet; deserializes equipped items array and populates character equip slots |
| 0x00CC1AA0 | 1247 | pkt_handler__equip_item_ack_v3b | Handles equip item acknowledgment packet v3b; clears old equipped items and populates equipment slots from network data |
| 0x00CC1F80 | 328 | pkt_handler__recv_inventory_list_v1 | Processes inventory list packet by clearing items, parsing item data structures, updating equipment nodes, and refreshing UI windows. |
| 0x00CC20D0 | 343 | pkt_handler__recv_inventory_list_v2 | Processes inventory list packet (v2), clearing old items and updating equipment UI with new item data from packet buffer. |
| 0x00CC2230 | 179 | pkt_handler__equip_node_update_v2 | Handles server packet to update player equipment node: finds item by index, updates equip node via skill system. |
| 0x00CC2370 | 316 | pkt_handler__recv_item_sold_notify | Handles item sold notification packet by displaying sale message dialog and removing item from player inventory. |
| 0x00CC24B0 | 40 | pkt_handler__entity_remove_and_cleanup | Removes entity from skill effects manager and actor list during entity despawn/cleanup packet handling. |
| 0x00CC24E0 | 326 | pkt_handler__recv_skill_cast_start_v1 | Handles incoming skill cast start packet (0x13), extracts skill ID/caster/target/range data, creates or reuses CSkillAction object, queues skill cast animation. |
| 0x00CC2630 | 334 | pkt_handler__recv_skill_cast_start_v2 | Handles incoming skill cast start packet v2; parses packet data, finds/creates CSkillAction effect, populates skill parameters including caster ID, skill ID, coordinates, level and cast time. |
| 0x00CC2780 | 326 | pkt_handler__recv_skill_cast_start_v3 | Handles incoming skill cast start packet v3; creates/retrieves CSkillAction effect, parses skill ID/level/range/type, queues skill cast animation. |
| 0x00CC3AA0 | 125 | pkt_handler__skill_fail_message_by_type | Maps skill failure type codes to message string IDs and displays error dialog via UIWindowMgr |
| 0x00CC5EB0 | 353 | pkt_handler__recv_item_delete_notify | Handles item deletion packets: removes inventory item, displays quantity loss message dialog, clears equip slots if needed. |
| 0x00CC6280 | 122 | pkt_handler__open_window_by_type | Opens UI window (0x5e), initializes with packet data by iterating 4-byte chunks, sends opcodes 0x4b, 0x1f, 0x22 |
| 0x00CC6390 | 229 | pkt_handler__recv_skill_list_failed_msg | Handles skill list failure packet by displaying dialog with item names concatenated from packet data. |
| 0x00CC6480 | 399 | pkt_handler__item_count_update_with_dialog | Handles item count update packet, validates security cookie, displays UI dialog with item information and localized message. |
| 0x00CC6610 | 378 | pkt_handler__item_use_result | Handles item use result packet (0xb3), displays message dialog with item data via CUIWindowMgr |
| 0x00CC6820 | 224 | pkt_handler__recv_mail_result | Handles mail operation result packet: creates/toggles mail UI window or displays status message (success/failure/error). |
| 0x00CC6970 | 134 | pkt_handler__window_message_dialog | Handles packet to display message dialog; creates/toggles window 0x89, retrieves localized message string 0x541, shows it via CUIWindowMgr |
| 0x00CC6A00 | 151 | pkt_handler__recv_guild_notice | Handles guild notice packet reception by toggling guild notice UI window and assigning notice text from packet data. |
| 0x00CC6BD0 | 289 | pkt_handler__recv_homunculus_stats | Parses homunculus stat packet, populates global stat cache, invalidates UI window for display refresh. |
| 0x00CC6D00 | 311 | pkt_handler__recv_homunculus_stat_update | Processes homunculus stat update packets (types 5-6-7-8-0x29-0x31-0x35-0xa5-0xbd-0xbe), updates global stat cache, triggers UI refresh. |
| 0x00CC6F20 | 552 | pkt_handler__equip_item_list | Processes equip item list packet, clears slots, iterates equipped items, assigns them to slots or extended positions, updates client state. |
| 0x00CC7160 | 169 | pkt_handler__show_error_message_a | Handles error message packets (0x757, 0x4c5, 0x4c6, 0x758, 0x886, 0xd93, 0xd94) and displays dialog via CUIWindowMgr with color/style based on packet ID. |
| 0x00CC7210 | 145 | pkt_handler__show_error_message_b | Handles error message packets (0x757/0x4c5/0x4c6/0x758/0x886), retrieves localized message string, displays dialog via CUIWindowMgr |
| 0x00CC72B0 | 133 | pkt_handler__show_skill_message_v2 | Displays skill message dialog by retrieving skill name from ID, formatting with message string, showing in UI message box. |
| 0x00CC7340 | 361 | pkt_handler__recv_msg_dialog_with_item | Handles packet 0xcce displaying item dialog; formats message with item name and shows UI dialog window |
| 0x00CC74B0 | 108 | pkt_handler__entity_update_notify | Handles entity update packet by invoking UI refresh (0x24) on player or other actors via session lookup. |
| 0x00CC7520 | 121 | pkt_handler__save_char_id_and_clear_inventory | Converts character ID from packet to string and clears the item table/inventory data structure. |
| 0x00CC7690 | 155 | show_formatted_system_message | Displays a formatted system message dialog by retrieving localized strings (0x91, 0x92) and showing them via UI message window. |
| 0x00CC7730 | 479 | pkt_handler__mail_item_list | Processes mail item list packet, clears mailbox/trade lists, parses item data, and opens mail window UI. |
| 0x00CC7910 | 345 | pkt_handler__recv_inventory_list_v3 | Processes inventory list packet v3: clears non-equipped items, parses item data, updates equipment nodes via skill system, refreshes UI. |
| 0x00CC7A70 | 338 | pkt_handler__recv_inventory_list_v4 | Processes incoming inventory list packet (v4), clears old items, parses item data, updates equipment nodes and refreshes UI. |
| 0x00CC7BD0 | 319 | pkt_handler__recv_inventory_list_v5_short | Processes inventory list packet (v5 short format), removes non-equipped items, parses item data, updates equipment nodes via skill system, refreshes UI. |
| 0x00CC7D10 | 262 | pkt_handler__recv_item_identified_notify | Handles item identification packet: finds item by index, displays formatted identification message dialog with item name and MSG string 0x530. |
| 0x00CC8190 | 248 | pkt_handler__recv_emotion_bubble | Handles incoming emotion bubble packet by extracting actor position/emotion data and invoking UI display callback with extracted parameters. |
| 0x00CC82A0 | 107 | pkt_handler__entity_position_update | Extracts entity X/Y coordinates and Z height from packet, scales by 10, triggers UI refresh via callback. |
| 0x00CC8310 | 720 | pkt_handler__chat_send_with_filter | Handles incoming chat packet, validates message content via word filter, checks sender permissions before processing filtered text |
| 0x00CC85F0 | 596 | pkt_handler__whisper_send_with_filter | Processes incoming whisper packet, validates message against word filter, displays filtered message in UI chat window by sender/receiver |
| 0x00CC8850 | 239 | pkt_handler__recv_party_chat_message | Processes party chat message packet by formatting and displaying it in UI dialog, optionally logging to file. |
| 0x00CC8940 | 518 | pkt_handler__show_skill_result_message | Handles skill result packets, formats success/failure messages via GetMsgString, displays UI dialog with CUIWindowMgr |
| 0x00CC8B50 | 63 | pkt_handler__entity_notify_simple | Handles entity notification packet; updates player or actor status field (offset 0xfc) from packet data at offset 6. |
| 0x00CC8B90 | 140 | pkt_handler__entity_bookmark_notify | Handles entity bookmark notification packet; updates actor state and notifies UI bookmark window with entity ID and coordinates. |
| 0x00CC8CC0 | 298 | pkt_handler__map_info_update | Processes map info update packet; sets config flags and UI state based on map mode type from packet offset +2 |
| 0x00CC8E10 | 234 | pkt_handler__map_type_restriction | Handles map type restriction packet (0x2xx), sets UI flags and displays restriction dialog based on restriction type ID. |
| 0x00CC9F20 | 1200 | pkt_handler__entity_spawn_standing_v3 | Deserializes ZC_NOTIFY_STANDBEGIN_V3 packet; spawns/updates standing actor with position, equipment, and item options. |
| 0x00CCA3D0 | 1229 | pkt_handler__entity_spawn_standing_v4 | Processes ZC_NOTIFY_STANDENTRY_ACK packet to spawn standing entity with config, position, direction, and appearance data. |
| 0x00CCA8A0 | 1248 | pkt_handler__entity_spawn_standing_v5 | Handles packet for spawning standing entities (v5 format); parses actor data, loads sprite resources, applies effects. |
| 0x00CCBC60 | 573 | pkt_handler__guild_chat_send_with_filter | Handles incoming guild chat packet, filters message content via word filter, displays result in message dialog with appropriate color code. |
| 0x00CCBEA0 | 136 | pkt_handler__player_spawn_self_decode | Decodes player self-spawn packet by unpacking item option bits and adjusting server time drift before dispatching. |
| 0x00CCBF30 | 34 | pkt_handler__entity_move_to_pos2 | Dispatches packet 0x3F (entity movement) by invoking virtual method at offset 0x18 with position coordinates from packet payload. |
| 0x00CCBF60 | 48 | CGameMode__HandleOtherEntityAction | Dispatches action handler (0xaa) for other entities, passing their ID and coordinates if not the local account. |
| 0x00CCC2A0 | 1158 | pkt_handler__entity_spawn_walking_v3 | Handles ZC_NOTIFY_ACT3 packet to spawn/update walking entity with position, appearance, and equipment data |
| 0x00CCC730 | 1150 | pkt_handler__entity_spawn_walking_v4 | Handles ZC_NOTIFY_ACTOR_SPAWN_WALKING packet, deserializes entity data and creates/updates actor instance with position/movement info. |
| 0x00CCCBB0 | 1144 | pkt_handler__entity_spawn_walking_v6 | Handles ZC_NOTIFY_ACT packet (v6) to spawn walking entities, creating new C3dActorComplex objects with position/direction data |
| 0x00CCD030 | 1157 | pkt_handler__entity_spawn_walking_v5 | Handles incoming entity spawn packet with walking state; creates/updates actor with position, direction, and movement data. |
| 0x00CCD9E0 | 620 | pkt_handler__entity_spawn_simple | Handles ZC_NOTIFY_ACT packet to spawn/update entity: finds existing actor by ID or creates new NPC, applies motion/animation state, position/direction data. |
| 0x00CCDC90 | 255 | pkt_handler__recv_ping_response | Processes ping response packet, logs latency, updates server time synchronization, and records average ping metrics. |
| 0x00CCE410 | 507 | pkt_handler__npc_shop_item_list | Handles NPC shop item list packet (0x13-byte items), populates CItemOwner lists, and creates/updates shop UI window. |
| 0x00CCE610 | 367 | pkt_handler__recv_buying_store_items_v1 | Processes buying store item packet (0x0f bytes per item), populates item list, opens/refreshes buying store UI windows (0xfe, 0xff). |
| 0x00CCE780 | 622 | pkt_handler__navigation_event | Handles navigation event packets; displays UI dialogs and populates navigation window with destination items from packet data. |
| 0x00CCED10 | 239 | pkt_handler__initialize_name_buffer | Initializes a 16-byte name string buffer with null terminators and validates packet size (16 bytes expected). |
| 0x00CCEE80 | 232 | pkt_handler__open_mailbox | Opens mailbox UI, validates tab count (2-5), clears mail list, creates inventory window or shows modal dialog if windows exist. |
| 0x00CCEFC0 | 43 | pkt_handler__open_produce_window | Extracts produce window parameters from packet, stores in globals, creates/toggles UI window |
| 0x00CCFC13 | 21 | noop_stub_00ccfc13 | No-op stub function that does nothing and returns. Placeholder for an unimplemented or removed feature. |
| 0x00CD0020 | 211 | pkt_handler__recv_party_match_list | Handles party matching list packet, allocates buffer, processes entries via CMapManager, updates UI window type 0xa9. |
| 0x00CD0210 | 682 | pkt_handler__show_skill_message | Handles incoming skill-related packets by parsing message type (param +0x36), formatting skill strings, and displaying dialog via CUIWindowMgr. |
| 0x00CD0560 | 441 | pkt_handler__npc_shop_item_list_v3 | Processes NPC shop item list packet v3, populates shop inventory, creates/toggles shop UI windows (0x16, 0x17) |
| 0x00CD0720 | 643 | pkt_handler__display_message_string | Handles ZC_DISPLAY_MSG packet; routes message display by type code (0-8) using localized strings |
| 0x00CD09D0 | 464 | pkt_handler__npc_shop_item_list_v2 | Parses NPC shop item list packet (v2), populates CItemOwner inventory, opens/refreshes shop UI windows |
| 0x00CD0BA0 | 346 | pkt_handler__recv_vending_items_list | Parses vending items list packet, populates inventory via CItemOwner, and refreshes UI windows 0x16 and 0x17. |
| 0x00CD0D00 | 444 | pkt_handler__server_message_dialog | Handles server message dialog packets by message type, retrieves localized string, and displays UI dialog with color coding |
| 0x00CD0F00 | 502 | pkt_handler__item_add_to_cart | Processes shop cart addition packet by parsing item data, validating items via CItemOwner lookup, and refreshing shop/cart UI windows. |
| 0x00CD1190 | 307 | pkt_handler__server_message_display | Processes server message packet, formats string with GetMsgString, displays via UITooltipWnd or CUIWindowMgr dialog based on service type. |
| 0x00CD12D0 | 277 | pkt_handler__item_reform_list | Handles item reform list packet by creating/toggling UI window (0x5a), populating it with reformable items from packet data via CItemOwner lookups. |
| 0x00CD13F0 | 461 | pkt_handler__xml_effect_trigger | Processes XML effect trigger packet, retrieves actor by AID, executes effect data and sound playback, displays UI dialog if needed. |
| 0x00CD1680 | 391 | pkt_handler__play_bgm_with_path | Packet handler that plays background music from file path with optional looping; stops all audio streams before playback. |
| 0x00CD18B0 | 489 | pkt_handler__play_bgm_music | Handles BGM music packet by constructing file path from config, concatenating "bgm\" prefix with ".mp3" suffix, and playing via CSoundManager. |
| 0x00CD1B50 | 461 | pkt_handler__status_effect_message | Handles status effect packet by parsing character stats, updating UI windows, and triggering dialog for specific status conditions. |
| 0x00CD1D20 | 417 | pkt_handler__status_effect_message_v3 | Parses v3 status effect packet, updates player stats/attributes, triggers UI invalidation and message dialogs for specific status conditions. |
| 0x00CD1ED0 | 503 | pkt_handler__status_effect_ui_update | Processes server packet updating player status effects, attributes, and UI elements; triggers dialogs for specific status types. |
| 0x00CD20D0 | 451 | pkt_handler__status_effect_message_v2 | Processes status effect message packet v2, updates character stats/attributes, invalidates UI windows, and shows dialog for specific status conditions. |
| 0x00CD22A0 | 283 | pkt_handler__pet_info_update | Handles pet information update packets, updating mercenary stats or creating pet UI window based on packet ID threshold |
| 0x00CD23C0 | 281 | pkt_handler__homunculus_stats_update | Updates homunculus stat values from packet data; sets stats to 0xFFFF if parameter equals 9999, stores in map, notifies observers. |
| 0x00CD24E0 | 535 | pkt_handler__file_download_notify | Handles file download notification packet by opening book file and displaying UI window with download progress/status. |
| 0x00CD2700 | 308 | pkt_handler__pet_action_result_v2 | Handles pet action result packet v2: displays UI dialog with localized error/status message based on action result code. |
| 0x00CD2EB0 | 37 | pkt_handler__item_favorite_remove | Removes favorite item by ID and refreshes party window display if removal succeeds. |
| 0x00CD3060 | 604 | pkt_handler__show_formatted_message | Displays formatted message dialogs from packet data containing three message types (header/body/footer) with localized string IDs and JSON formatting. |
| 0x00CD3370 | 277 | pkt_handler__player_name_filtered | Handles incoming packet containing player name, validates it against word filter, and filters inappropriate content if needed. |
| 0x00CD35C0 | 262 | pkt_handler__equip_item_result_v3 | Handles equip item result packet v3: updates equip time, finds item by index, calls OnEquipItem on success, or shows error dialog on failure. |
| 0x00CD36D0 | 266 | pkt_handler__equip_item_result_v2 | Handles equip item result packet v2; updates item owner on success (0x01) or shows error dialog on failure. |
| 0x00CD38D0 | 234 | CGameMode__ProcessReplayNameEntry | Processes replay name entry by storing actor AID in map and assigning name string from packet data. |
| 0x00CD3B70 | 852 | pkt_handler__item_info_json_response | Handles item info JSON response packet; validates packet type, retrieves UI window, displays error messages or item data based on packet subtype codes. |
| 0x00CD3FE0 | 210 | pkt_handler__npc_shop_name_v2 | Handles NPC shop name packet (v2), extracts shop name from packet, applies charset formatting if needed, creates/toggles shop UI window. |
| 0x00CD40C0 | 217 | pkt_handler__npc_shop_name | Handles NPC shop name packet, copies shop name string to UI window with charset conversion for service type 10. |
| 0x00CD41A0 | 848 | pkt_handler__skill_list_update | Processes skill list update packet, clears/rebuilds skill data, updates UI window 0xb5 with parsed skill entries |
| 0x00CD44F0 | 771 | pkt_handler__recv_storage_list_full | Handles incoming storage list packet, clears UI window 0xb5, initializes storage item structs from packet data |
| 0x00CD4AD0 | 397 | pkt_handler__skill_failed_message | Handles skill failure packet by displaying localized error message dialog based on packet failure codes (0xc2-0xc6). |
| 0x00CD4DE0 | 24 | pkt_dispatch__skill_level_update | Dispatches skill level update packet by invoking CSkillTreeMgr to refresh skill tree state |
| 0x00CD4E90 | 546 | pkt_handler__spawn_elemental_with_effect | Handles spawn packet for elementals with visual effects; creates NPC/mob actors and manages skill effect synchronization |
| 0x00CD50C0 | 569 | pkt_handler__spawn_elemental_simple | Packet handler for spawning elemental creatures; parses 0xb0 packet or skill-based spawn with account ID validation and linked list management. |
| 0x00CD5310 | 613 | pkt_handler__spawn_pet | Handles packet 0xB0 to spawn pet actors; creates NPC actor objects and manages pet list insertion/removal |
| 0x00CD5590 | 677 | pkt_handler__spawn_pet_or_companion | Handles packet 0xB0/0x126 to spawn pet/companion actors, managing NPC creation and skill effect lookups |
| 0x00CD5840 | 317 | pkt_handler__recv_npc_spawn_or_unit | Handles NPC spawn packets; dispatches to homunculus handler or creates/initializes NPC actor with position/direction data. |
| 0x00CD5980 | 384 | pkt_handler__spawn_npc_actor_simple | Handles NPC actor spawn packet; creates/reuses mob actor, manages skill effect list, updates actor properties from packet data. |
| 0x00CD5B10 | 460 | pkt_handler__spawn_homunculus_full | Handles packet 0x126+ to spawn a homunculus actor, managing skill effects, actor creation, and spawn list updates. |
| 0x00CD5CE0 | 847 | pkt_handler__entity_animation_start_v3 | Handles v3 entity animation start packet; creates AnimTimeline objects and manages animation queues for entities. |
| 0x00CD60B0 | 1405 | pkt_handler__entity_animation_start | Processes animation start packet; creates/updates AnimTimeline for entity, manages motion recording with timestamp |
| 0x00CD6790 | 1169 | pkt_handler__entity_animation_start_v2 | Processes animation start packet v2: initializes animation timelines, manages motion recording state, and queues animation keyframes for entity. |
| 0x00CD6CB0 | 446 | pkt_handler__animation_keyframe_list | Parses animation keyframe packet, validates frame count, allocates timeline structures, inserts keyframe data into animation queue. |
| 0x00CD7000 | 347 | pkt_handler__recv_skill_list_update | Parses skill list update packet (0x25-byte entries), populates skill vector, triggers CGameMode skill list callback |
| 0x00CD7180 | 46 | pkt_dispatch__skill_info_update | Dispatches skill info update packet data to CGameMode handler with parsed fields from packet buffer. |
| 0x00CD71B0 | 381 | pkt_handler__skill_tree_update_full | Handles skill tree update packets (0x10e/0x239/0x29e); parses skill ID/level/AP data and syncs UI skill list. |
| 0x00CD7330 | 657 | pkt_handler__play_sound_effect | Handles sound effect packets: plays 3D audio for actors or queues sound file strings for playback based on packet type flag. |
| 0x00CD8B00 | 375 | pkt_handler__recv_item_list_by_type | Processes incoming item list packet by type, populating inventory/cart/storage with parsed item data entries. |
| 0x00CD8D10 | 311 | pkt_handler__inventory_reset | Packet handler that resets inventory/cart/storage based on type: clears main inventory+equips (0), cart (1), or loads storage window with data (2-3) |
| 0x00CD8E70 | 1178 | pkt_handler__actor_look_change | Handles ZC_CHANGE_LOOK packet to update player/NPC appearance (job, gender, equipment, effects). |
| 0x00CD9390 | 573 | pkt_handler__actor_job_change | Handles ZC_NPROTECT packet for job change events; updates player/actor job class, gender, and related attributes. |
| 0x00CD9620 | 47 | pkt_handler__open_refine_window | Opens refine UI window and processes refine packet data from offset +2 of packet structure |
| 0x00CD9C60 | 237 | pkt_handler__cart_clear_and_refresh | Handles cart refresh packet: clears cart inventory, updates hotkey icons, and notifies UI/actor of cart state change. |
| 0x00CD9D50 | 219 | pkt_handler__cart_clear_and_refresh_v2 | Handles cart refresh packet v2: clears cart UI/data for local player, updates cart item counts, notifies remote actors. |
| 0x00CD9E30 | 555 | pkt_handler__recv_player_stats_full | Parses player stat packet (0x0b3f), updates 12 base stats and 12 bonus stats, invalidates equipment UI window. |
| 0x00CDA060 | 266 | pkt_handler__config_state_update | Processes config state update packets (0x20-0x25, 0xf7-0xfc), updates global config flags, invalidates equip window UI |
| 0x00CDA280 | 534 | pkt_handler__status_effect_switch | Handles status effect packets, updating global state variables and invalidating equipment UI window on specific effect type changes. |
| 0x00CDA580 | 358 | pkt_handler__special_item_list_34byte | Parses 34-byte item entries from packet, populates special item list via CItemOwner, updates UI window 0x21 |
| 0x00CDA6F0 | 379 | pkt_handler__storage_item_add | Handles packet 0x21 to add storage items; parses item data, updates UI window, and adds items to player inventory via CItemOwner. |
| 0x00CDA870 | 349 | pkt_handler__special_item_list_30byte | Handles 0x21 packet (30-byte items); parses item list, populates CItemOwner special inventory, refreshes UI window. |
| 0x00CDA9D0 | 371 | pkt_handler__special_item_list_37byte | Handles 0x21 packet (37-byte items); creates UI window, parses item list, adds items to special inventory via CItemOwner. |
| 0x00CDAB50 | 479 | pkt_handler__special_item_add_v0 | Handles special item addition packet, parses item data array, populates CItemTable entries, adds items to CItemOwner inventory, refreshes UI window 0x21. |
| 0x00CDAD70 | 867 | pkt_handler__special_item_add_v1 | Handles special item addition packet, creates UI window, parses item data array from network packet into item table structures |
| 0x00CDB110 | 831 | pkt_handler__special_item_add_v2 | Handles packet 0x21 to populate special item list in UI window, parsing item data records from network packet. |
| 0x00CDB480 | 329 | pkt_handler__special_item_list_32byte_v2 | Parses packet to populate special item list UI window, iterating through 32-byte item entries and adding them via CItemOwner. |
| 0x00CDB5D0 | 447 | pkt_handler__special_item_add_v3 | Processes special item addition packet v3: parses items, adds them to inventory via CItemOwner, updates UI window and status display. |
| 0x00CDB7D0 | 447 | pkt_handler__special_item_add_v4 | Handles incoming packet to add special items to player inventory, parsing multiple items and updating UI window. |
| 0x00CDB9D0 | 345 | pkt_handler__special_item_list_28byte | Handles packet 0x21 to populate special item list UI window from 28-byte item entries via CItemOwner |
| 0x00CDBB30 | 339 | pkt_handler__special_item_list_32byte | Handles 0x21 packet: parses 32-byte item entries, populates CItemTable/CItemOwner special inventory, refreshes UI window. |
| 0x00CDBC90 | 319 | pkt_handler__special_item_list_26byte | Handles 0x26 packet to populate special item list window, parsing 12-byte item entries and updating CItemOwner storage. |
| 0x00CDBE50 | 1172 | pkt_handler__item_list_enchant_v1 | Processes enchant item list packet, builds UI option strings for each enchant item with matching stats. |
| 0x00CDC310 | 1172 | pkt_handler__item_list_enchant_v2 | Processes enchantment item list packet v2, builds UI option strings for enchantable items and manages enchant item info storage. |
| 0x00CDC7D0 | 328 | pkt_handler__item_use_result_v2 | Handles item use result packet v2: validates account ID, removes item from inventory, processes status effects, shows error dialogs on failure. |
| 0x00CDC920 | 256 | pkt_handler__item_remove_from_inv_v2 | Handles packet to remove item from inventory; validates item existence, removes quantity, triggers UI update callback at offset 0x2c. |
| 0x00CDCC10 | 232 | pkt_handler__validate_and_format_item_description | Validates item description packet length and formats description string via allocator with conditional assignment. |
| 0x00CDCE00 | 208 | pkt_handler__enchant_result_list | Displays enchant result list by parsing packet data and showing each enchant result entry via message dialogs. |
| 0x00CDCED0 | 32 | pkt_dispatch__char_data_store | Dispatches character data packet by extracting slot ID, data pointer, and job ID, then stores to CCharMode |
| 0x00CDCEF0 | 217 | pkt_handler__npc_name_assign_extract_string | Extracts and assigns NPC name string from packet buffer at offset 2, calculates string length via null terminator. |
| 0x00CDD330 | 832 | pkt_handler__quest_chat_and_filter | Processes quest chat packet, validates content through word filter, updates quest hotkeys and displays filtered quest information dialog. |
| 0x00CDD6F0 | 666 | pkt_handler__party_chat_filtered | Handles incoming party chat packet, filters message text through word filter, and inserts into party chat data structure (likely binary search tree). |
| 0x00CDDD80 | 449 | pkt_handler__item_remove_from_inventory | Handles item removal packet; validates inventory state, displays dialog, removes item by ID, updates equip nodes. |
| 0x00CDDF50 | 254 | pkt_handler__equip_update_by_skill_v2 | Handles packet for equipment updates triggered by skill activation; displays UI messages and updates equipped item nodes. |
| 0x00CDE050 | 678 | pkt_handler__refine_result_notify | Handles refine result packet, updates item refinement state, triggers UI animations and success/failure messages based on refine outcome code. |
| 0x00CDE360 | 217 | pkt_handler__npc_name_assign | Parses NPC name assignment packet; extracts GID and name string fields, assigns name via std_string. |
| 0x00CDE6F0 | 935 | pkt_handler__quest_notification | Handles quest notification packets, clears/resets quest state, displays UI dialogs, filters quest text, and manages quest hotkey slots. |
| 0x00CDF6C0 | 598 | pkt_handler__item_display_notification | Handles item display notification packets by building item names, formatting messages with localized strings, and showing colored UI dialogs based on notification type (0-3). |
| 0x00CDF930 | 282 | pkt_handler__job_change_result | Handles job change result packet (opcode 0x?), displays UI dialogs with localized messages based on job class ID and result code. |
| 0x00CDFB30 | 367 | pkt_handler__recv_chat_msg_filtered | Receives chat packet, validates message against word filter, applies string filtering if needed, then assigns filtered result. |
| 0x00CDFEB0 | 322 | pkt_handler__status_change_list | Processes status change list packet, parses variable-length status data, updates UI status bars. |
| 0x00CE0420 | 482 | pkt_handler__party_member_info_update | Handles party member info update packets, extracts color codes, updates party member data, and refreshes UI status bars. |
| 0x00CE0A20 | 398 | pkt_handler__party_member_hp_update_batch | Processes batch party member HP updates from server packet, refreshes UI status bars for multiple party members. |
| 0x00CE1120 | 550 | pkt_handler__hotkey_and_enchant_init | Processes hotkey/enchant initialization packets (0x0D-0x12, 0xDB-0xE0), updates equipment window and DataTable. |
| 0x00CE1530 | 35 | pkt_handler__quest_item_remove | Packet handler that removes a quest item by calling CQuestInfo::RemoveQuestItemByKey with item key from packet offset +2 and +6. |
| 0x00CE1670 | 277 | pkt_handler__divorce_result | Handles divorce result packet (0x2A2), displays appropriate UI message dialog based on result code (0/1/2) |
| 0x00CE1790 | 481 | pkt_handler__party_chat_send_with_filter | Handles incoming party chat packet, validates message length, applies word filter, and displays filtered chat in UI dialog if enabled. |
| 0x00CE19F0 | 314 | pkt_handler__word_filter_names | Handles incoming word filter packet by validating and filtering player names through CWordFilter, then assigns cleaned result to string. |
| 0x00CE1C40 | 486 | pkt_handler__chat_message_filtered_v2 | Handles incoming chat message packets, validates against word filter, applies color codes, and processes filtered text output. |
| 0x00CE1F40 | 856 | pkt_handler__chat_message_with_color_code | Processes filtered chat packet, extracts color code index, retrieves corresponding color, and formats message string with color data. |
| 0x00CE28E0 | 321 | pkt_handler__equip_option_list | Handles equip option list packet: creates UI window, populates item options from packet data via CItemOwner lookup. |
| 0x00CE2A30 | 277 | pkt_handler__equip_option_list_v2 | Handles equip option list v2 packet: creates UI window, iterates item indices, finds items and populates window with option data. |
| 0x00CE2BE0 | 215 | pkt_handler__char_rename_info_v2 | Processes character rename info packet v2; extracts and initializes string data from packet buffer at offsets 0x52-0x6a. |
| 0x00CE2E40 | 814 | pkt_handler__quest_add_with_objectives | Handles incoming quest addition packet with objectives; parses quest ID, count, reward data and initializes quest UI display. |
| 0x00CE31E0 | 355 | pkt_handler__char_rename_info | Processes character rename info packet, extracts character name and attributes from packet buffer, initializes string data structures. |
| 0x00CE3440 | 524 | pkt_handler__quest_add_simple | Processes quest addition packet, updates quest count, clears item tree, parses quest data, refreshes UI status bars |
| 0x00CE3DE0 | 1015 | pkt_handler__quest_update_objectives | Processes quest objective update packet, parses multiple objectives, updates UI tree display and recalculates quest progress ratios. |
| 0x00CE4390 | 487 | pkt_handler__friend_chat_filtered | Processes friend chat packets, validates message content via word filter, applies filtering if needed, refreshes UI status bars. |
| 0x00CE4710 | 270 | pkt_handler__server_string_message | Handles server packet containing a string message, displays it in a message dialog via CUIWindowMgr. |
| 0x00CE48B0 | 266 | pkt_handler__skill_use_fail_msg | Displays skill usage failure messages in UI dialog based on error code from server packet, with color-coded text (white/yellow). |
| 0x00CE4BB0 | 640 | pkt_handler__buying_store_item_list | Parses buying store item list packet, populates item table with parsed item data from packet buffer. |
| 0x00CE4E30 | 656 | pkt_handler__trade_item_list | Handles ZC_ITEMLIST_NORMAL packet; parses trade item list from server and populates CItemOwner trade list for UI display. |
| 0x00CE50C0 | 865 | pkt_handler__show_message_with_format | Handles formatted message packets from server; displays item-related messages in UI dialog with color coding based on message type. |
| 0x00CE5450 | 601 | pkt_handler__guild_chat_message | Processes incoming guild chat packet, applies word filtering to message content, and manages chat message storage in sorted data structure. |
| 0x00CE56D0 | 960 | pkt_handler__party_member_status_update | Parses party member status update packet, maintains sorted map of party members by ID, updates client-side party state |
| 0x00CE5B40 | 304 | pkt_handler__guild_chat_filtered_v2 | Handles guild chat packet v2: filters message text, creates/toggles chat UI window, displays filtered guild chat message. |
| 0x00CE5C80 | 304 | pkt_handler__party_chat_filtered_v2 | Handles party chat packet, filters message content via word filter, creates/toggles UI window 0x46, displays filtered chat message. |
| 0x00CE5E80 | 286 | pkt_handler__party_member_item_grade | Handles party member item grade packet: updates actor item grades, refreshes party UI, manages favorite item grade state. |
| 0x00CE6150 | 213 | pkt_handler__quest_status_update | Processes quest status update packet: updates quest info, retrieves color code, triggers UI refresh callbacks (0x8c, 0xab). |
| 0x00CE7960 | 375 | CPartyMemberInfo__move_ctor | Move constructor for CPartyMemberInfo that transfers member data and resets source object to default state. |
| 0x00CE7B10 | 82 | ItemVector__Destructor_Loop_0x100 | Destructs multiple std_string objects in a loop, iterating through ItemVector elements by 0x100 byte offsets. |
| 0x00CE7B90 | 537 | ItemVector__GrowAndInsert_0x36 | Grows ItemVector container capacity by 1.5x, inserts item at position, reallocates with aligned memory for items of size 0x36 bytes |
| 0x00CE7DC0 | 280 | ItemVector__GrowAndInsert_0x100 | Grows ItemVector capacity and inserts element at param_2 position, reallocating storage with 1.5x growth strategy. |
| 0x00CE8360 | 276 | heap_sort_8byte_pairs | Heapsort implementation for array of 8-byte pairs (two 4-byte integers) with secondary sort key comparison. |
| 0x00CE8480 | 168 | SortThreePoints | Sorts three 2D points (param_1, param_2, param_3) by comparing coordinates, likely for triangle/polygon operations. |
| 0x00CE8530 | 842 | quicksort_pair_array | Quicksort implementation for array of integer pairs, using three-way partitioning with median-of-three pivot selection. |
| 0x00CE8880 | 220 | heap_sift_down_8byte_pairs | Min-heap sift-down operation for 8-byte paired elements (64-bit key-value pairs), used in priority queue management. |
| 0x00CE8AE0 | 427 | introsort_8byte_pairs | Hybrid sort (quicksort + heapsort + insertion sort) for 8-byte paired integer elements with comparison callback. |
| 0x00CE8C90 | 96 | json_vsnprintf_s_wrapper | Wrapper for vsnprintf_s that allocates a JSON buffer and formats a string, returning length or -1 on error. |
| 0x00CE8D00 | 97 | ItemVector__CopyItem_0x100 | Copies a single item by calling CVendingItem assignment operator and copying byte at offset 0xf8. |
| 0x00CE8E80 | 250 | card_merge_list_copy_entry | Copies card merge list entry from source to destination, including item data, strings, and 75 dword array elements. |
| 0x00CE8F80 | 93 | json_vsprintf_s_wrapper | Allocates global JSON buffer and performs formatted string output via vsprintf_s with error handling. |
| 0x00CE95D0 | 124 | ItemVector__Tidy_0x100 | Deallocates ItemVector by destructing all elements and freeing allocated memory with size validation. |
| 0x00CEC8A0 | 3503 | pkt_handler__entity_status_flags | Applies entity status effect flags (poison, stun, hide, etc.) via bitmask, manages visual effects by skill ID. |
| 0x00CED690 | 294 | CItemOwner__ProcessAuctionItemName | Validates & filters auction item name through word filter, clears favorites list, processes string data. |
| 0x00CEDA40 | 280 | pkt_handler__vending_sell_result | Handles vending sell result packet; processes item removal from inventory and displays appropriate UI message based on result code (0-4). |
| 0x00CEDB70 | 1163 | pkt_handler__ranking_list_display | Processes ranking list packet data, extracts item display names and ranking metadata, populates UI elements. |
| 0x00CEE010 | 411 | pkt_handler__vending_open_window | Handles vending shop window open packet; manages UI window creation and item insertion into vendor inventory structure. |
| 0x00CEE230 | 541 | pkt_handler__inventory_list_display | Processes inventory list packet (0x01=vending, else=buying store); populates trade lists and updates UI windows (0x2b, 0x2c, 0x2d). |
| 0x00CEE450 | 326 | pkt_handler__buying_store_item_list_v2 | Processes buying store item list packet v2: clears lists, iterates items, updates UI windows (0x2b, 0x2c) with vending data. |
| 0x00CEE5A0 | 310 | pkt_handler__trade_item_list_v2 | Processes trade item list packet v2, populates CItemOwner trade list from vending data, handles UI window state |
| 0x00CEE6E0 | 898 | pkt_handler__npc_skill_cast | Handles NPC skill casting packets, manages effects, animations, and target interactions for ground/targeted skills. |
| 0x00CEEA70 | 952 | pkt_handler__skill_cast_target_selection | Handles skill cast targeting packet; validates caster/target, retrieves account config, manages UI skill selection state. |
| 0x00CEEFF0 | 10678 | pkt_handler__skill_cast_ground_effect | Handles the visual effects for ground-targeted skill casts. Dispatched by skill ID (param_4), creates one or two CEffect instances for each skill: typically a "casting" effect attached to the caster and a "ground" effect at the target location. For each skill, calls CEffect__CreateEffectByID with specific effect IDs and sets the duration via the effect's SetDuration vtable call (+0x38). Handles ~80+ skill IDs including: Warlock skills (0x8D5 with element-based effect selection by caster angle), Ranger/Mechanic skills, 3rd class skills (0x145F-0x1503), Kagerou/Oboro skills, Summoner skills, and Rebellion skills (0x1F79). Special cases: skill 0x8D5 selects 1 of 4 element effects based on caster rotation angle with alternate "reduced effect" variants when config 0xE5 is set. Skills 0x98F/0x991 calculate world position from cell coordinates via CGameMode__CalcCellToScreenPosCenter. Skill 0x9A0 plays heal sound and creates a tracking effect. Skill 0x149E creates a persistent ground effect object via CGameMode__CreateGroundEffect with cell position and timestamp. Builds a static skill-to-effect mapping table on first call for unmapped skills via STL_map_insert_ground_effect_node. Supports "reduced effects" config (0xE5) with alternate effect IDs for many skills. |
| 0x00CF1D20 | 442 | pkt_handler__npc_color_transition_effect | Handles NPC visual effects packets (0x39, 0x3e, 0x105, 0x3f7, 0x8a9, 0x14c4, 0x154b, 0x191) by setting color transitions and attaching effects to 3D actors. |
| 0x00CF2560 | 230 | string__assign_cstring | Assigns a null-terminated C string to an STL string object by calculating length and copying data. |
| 0x00CF2A50 | 228 | pkt_handler__party_member_name_update | Updates party member name in client state; if packet target is current player, also updates account ID field. |
| 0x00CF2E70 | 897 | pkt_handler__spawn_homunculus_or_pet | Spawns homunculus/pet actor by parsing packet, allocating C3dActorComplex, applying visual effects, and registering in actor list. |
| 0x00CF3490 | 782 | pkt_handler__replay_entity_spawn_v2 | Validates and processes ZC_SPAWN_NPC_EX packet, spawning entity actor with position, appearance, and status data. |
| 0x00CF37B0 | 789 | pkt_handler__replay_entity_spawn_v3 | Parses entity spawn packet (0x5a bytes), validates length, extracts entity data, calls CSession to create actor with position/appearance/equipment data. |
| 0x00CF4620 | 767 | pkt_handler__replay_entity_skill_v2b | Packet handler that validates and processes skill replay packets (v2b format), calling CSession to create entity actor skill visualizations with parsed packet data. |
| 0x00CF4930 | 774 | pkt_handler__replay_entity_skill_v3 | Packet handler that validates ZC_REPLAY_ENTITY_SKILL_V3 packet structure and delegates skill creation to CSession__CreateEntityActor_SkillV2 |
| 0x00CF57D0 | 782 | pkt_handler__replay_entity_skill_v1 | Validates and processes skill replay packet (0x52 bytes), calls CSession to create entity actor with skill animation data |
| 0x00CF5AF0 | 789 | pkt_handler__replay_entity_skill_v2 | Packet handler that validates skill replay packet size and creates entity actor for skill visualization with parsed packet data. |
| 0x00CF69D0 | 245 | pkt_handler__equip_position_update | Processes packet updating equipped item positions; converts bitmask, retrieves equipped items, updates inventory based on equip/unequip action type |
| 0x00CF6AD0 | 66 | CSession__CountNonZeroVendingFields | Counts non-zero fields in vending purchase result packet/structure by incrementing counter for each populated field. |
| 0x00CF7370 | 756 | pkt_handler__package_item_test_log_save | Saves package item test data to timestamped log file in PackageItemTest directory with item names and quantities. |
| 0x00CF8050 | 42 | pkt_dispatch__entity_spawn_replay | Dispatches entity spawn replay packet by calling CSession::HandleEntitySpawn with parsed packet data fields |
| 0x00CF8080 | 519 | pkt_handler__ground_effect_aoe_spawn | Spawns ground effect particles in grid pattern using Lua skill scale, calculates screen/world positions for each cell |
| 0x00CF8290 | 45 | set_option_flag_from_array | Iterates through option array; sets global flag DAT_01602430 if first element equals 1 |
| 0x00CF82C0 | 293 | pkt_handler__auction_item_entry | Processes ZC_AUCTION_ITEM_REQ packet, copies auction item entries into vector and extracts item names. |
| 0x00CF8490 | 860 | pkt_handler__show_modal_dialog | Packet handler that displays modal dialogs based on type (0-8), showing messages with sound effects and UI window management. |
| 0x00CF8810 | 45 | pkt_dispatch__entity_spawn_v2 | Dispatches entity spawn packet v2 by extracting fields from buffer and invoking CSession::HandleEntitySpawn |
| 0x00CF8860 | 403 | pkt_handler__chat_room_name_filter | Handles chat room name packets by validating against word filter and displaying UI dialog if config allows. |
| 0x00CF8B10 | 435 | pkt_handler__card_merge_result | Handles card merge result packet; displays success/failure dialog and removes merged card from inventory map on success |
| 0x00CF8CE0 | 782 | pkt_handler__display_error_message_dialog | Displays localized error/system messages (0xFF4-0xFFE) via modal dialog based on packet parameter code. |
| 0x00CF9190 | 260 | pkt_handler__barter_result | Handles barter operation results by delegating to RuneSystemMgr, updating UI window 0x169, or displaying error dialogs for status codes 1-7. |
| 0x00CF9340 | 478 | pkt_handler__enchant_refine_result | Handles enchant/rune refine packet response: creates effects, updates rune system, refreshes enchant UI window 0x169. |
| 0x00CF96A0 | 223 | pkt_handler__achievement_list | Handles achievement list packet: extracts payload, inserts into vector, creates/toggles achievement UI window with data. |
| 0x00CF9970 | 50 | pkt_dispatch__npc_skill_cast | Dispatches NPC skill cast packet by extracting fields from packet buffer and forwarding to skill cast handler. |
| 0x00CFA1D0 | 667 | pkt_handler__vending_item_sold | Handles vending shop item sold packet; parses item data, slot counts, and item properties from network packet structure. |
| 0x00CFA480 | 519 | pkt_handler__vending_purchase_result | Handles vending purchase result packet (opcode case 0): clears item table, copies vending items, removes from inventory, displays message dialog. |
| 0x00CFB210 | 384 | pkt_handler__account_config_save | Handles account config save packet by extracting config data, storing it via CAccountLinkedConfigMgr, and refreshing UI window. |
| 0x00CFB4E0 | 394 | pkt_handler__loading_screen_with_mailbox | Handles loading screen packets (param_1='d'/'e') with mailbox UI state; manages window events, clears mail, locks item list drag, shows error dialogs. |
| 0x00CFB6B0 | 326 | pkt_handler__quest_update_status | Handles quest status update packet, validates quest state and updates UI quest window counter if all quests completed. |
| 0x00CFB8B0 | 357 | pkt_handler__chat_room_result | Handles chat room result packets (0-5), processes item link data, updates UI scroll state, displays error messages |
| 0x00CFBA30 | 594 | pkt_handler__ranking_list_prepare | Processes ranking list packet by resizing item vector, clearing item table, and displaying ranked items with parsed metadata. |
| 0x00CFBE00 | 337 | pkt_handler__buying_store_create_result | Handles buying store creation result packet; shows success/error messages and updates vending manager state based on response code. |
| 0x00CFBF60 | 234 | pkt_handler__card_merge_result_msg | Displays dialog message for card merge operation results (cases 0-5) with color-coded status to player UI. |
| 0x00CFC8C0 | 202 | pkt_handler__guild_invite_result_v2 | Handles guild invitation result packet (v2), displays appropriate UI message based on success/failure code and updates guild window. |
| 0x00CFC990 | 336 | pkt_handler__guild_expulsion_result | Handles guild expulsion result packet, displays item dialog or status message based on result code (0-4). |
| 0x00CFCB00 | 378 | pkt_handler__chat_room_create_send | Handles incoming chat room creation packet; initializes chat UI, validates item links, and sends response or error dialog. |
| 0x00CFCD40 | 205 | pkt_handler__captcha_image_result | Handles captcha image packet response: retrieves/creates UI window, validates captcha ID, allocates image buffer, or shows error dialog. |
| 0x00CFCE10 | 387 | pkt_handler__show_server_error_message | Handles server error messages by error code, displays localized strings via UI dialog with optional confirmation popup. |
| 0x00CFD0C0 | 1173 | pkt_handler__vending_show_board | Handles vending shop board display packet; initializes vendor data, manages inventory slots, and updates UI window state. |
| 0x00CFDCC0 | 285 | pkt_handler__buying_store_result_msg | Handles buying store result packet (0x0A1B-0x0A2B), displays status message dialog, closes store UI window |
| 0x00CFDE00 | 271 | pkt_handler__buying_store_sell_result | Handles buying store sell result packet, displays status messages, updates item quantities in BST based on result code. |
| 0x00CFDF10 | 201 | pkt_handler__roulette_result | Handles roulette game result packets (0-3) by updating UI window 0x154 or displaying error messages via dialog. |
| 0x00CFDFF0 | 441 | pkt_handler__costume_equip_update_v2 | Processes costume equipment update packet v2, parses multiple equipped costume items, and adds them to player's costume inventory slots. |
| 0x00CFE1B0 | 449 | pkt_handler__costume_equip_update | Processes costume equipment update packet, parsing item data and adding costume to player's first available inventory slot. |
| 0x00CFF1D0 | 409 | pkt_handler__actor_color_transition | Handles packet to apply color transition effects between two actors (e.g., skill casting/buffs); darkens or resets actor colors based on transition state. |
| 0x00CFF7B0 | 649 | pkt_handler__equip_slot_update_v1 | Handles equipment slot update packets by finding items by index/ID and applying equipment slot changes with parameter validation. |
| 0x00CFFA40 | 747 | pkt_handler__equip_slot_update_v2 | Processes packet containing equipped item slot updates, validates items, and extracts equipment slot data from packet buffer. |
| 0x00CFFD30 | 282 | pkt_handler__equip_update_by_skill | Handles packet to update equipped items based on skill activation, parsing equipment data and updating item nodes. |
| 0x00CFFE50 | 434 | pkt_handler__equip_node_update | Processes equip node update packet, retrieves item data, updates equipped skills, and refreshes UI window display. |
| 0x00D02B10 | 2013 | Hotkey__load_from_packet | Loads hotkey configuration from network packet, parses entries by mode, stores in BST tree at DAT_0131ecdc, refreshes UI. |
| 0x00D039B0 | 1100 | Skill__handle_use_effect_packet | Processes skill use/effect packets; dispatches skill animations, manages cooldown tracking, displays skill notifications via UI system. |
| 0x00D09FB0 | 219 | CSession__OnRecvEquipItemAck | Handles equip item ACK packet: clamps equip slot (2-5), opens equip window or shows modal if trading/vending active, sends action 299. |
| 0x00D0A090 | 209 | CSession__OnRecvUnequipItemAck | Processes unequip item acknowledgment packet, clamps equipment slot (3-13), refreshes inventory window or shows modal dialog if trading/chatting. |
| 0x00D0A170 | 1215 | CSession__OnRecvInventoryItemList | Parses inventory item list packet, resizes item vector, populates item structs with card slots/options/refine data, opens inventory windows. |
| 0x00D0A660 | 1134 | CSession__OnRecvInventoryEquipList | Parses inventory equipment list packet, resizes item vector, processes 0x3a-byte equip entries with options and card slots. |
| 0x00D0AAF0 | 419 | PacketHandler__OnRecvHotkeyList | Processes hotkey list packet (0x10+ byte header), parses entries (13 bytes each), displays MsgString 0x78d if hotkeys exist. |
| 0x00D0B290 | 28 | PacketHandler__OnRecvSetMaxWeight | Updates player maximum weight capacity from packet data at offset +2 if value is positive. |
| 0x00D0B2B0 | 162 | PacketHandler__OnRecvMakeArrowResult | Handles arrow crafting packet response: success updates item/rune data and guild window, errors display localized messages. |
| 0x00D0B370 | 57 | PacketHandler__OnRecvBattlegroundSelect | Handles battleground actor selection packet by retrieving battleground window (0x127) and triggering actor selection UI. |
| 0x00D0B3B0 | 106 | CSession__OnRecvEntityDespawnList | Processes entity despawn packet by iterating entity IDs, removing effects/actors and executing PC despawn action via vtable. |
| 0x00D0B4D0 | 132 | PacketHandler__OnRecvAchievementResult | Processes achievement result packet (0x2730), displays status messages or triggers UI callbacks based on result code. |
| 0x00D0B570 | 375 | PacketHandler__OnRecvAchievementMessage | Processes achievement notification packets (types 0-1-2), formats message string 0x10e7, displays via dialog with white color. |
| 0x00D0B6F0 | 225 | PacketHandler__OnRecvQuestReputeList | Receives quest repute/objective list packet, initializes quest manager singleton, inserts repute entries, toggles quest window UI. |
| 0x00D0B830 | 299 | PacketHandler__OnRecvAgitBreakEconomyInfo | Handles War of Emperium economy info packet, calls Lua "get_agit_name", formats message with MsgString 0xe30, shows modal dialog. |
| 0x00D0B960 | 70 | PacketHandler__OnRecvAgitResult | Displays WoE agit siege result message (success/failure) via UI dialog based on packet result code. |
| 0x00D0BA20 | 115 | PacketHandler__OnRecvSetMapName | Receives and assigns map name from packet data to internal string, calculating length from null-terminated source. |
| 0x00D0BD00 | 100 | PacketHandler__OnRecvRefineResult | Handles refine result packet: success triggers ProcessEvent 0x40 on window 0x154, failure shows MsgString 0x9d1 dialog. |
| 0x00D0BD70 | 164 | PacketHandler__OnRecvSetCharacterName | Sets character name from packet data, marks name as initialized, assigns string via range copy. |
| 0x00D0BE40 | 218 | PacketHandler__OnRecvToggleStatus0xB8 | Toggles status effect 0xB8 (184) in player status list; adds entry with values {0xB8, 999999, 0, 9999, 9999} or removes it. |
| 0x00D0BF20 | 36 | PacketHandler__OnRecvClearTradeFlag | Clears global trade flag (DAT_015c4310) unless packet indicates active trade session (state 1 or 2). |
| 0x00D0BF50 | 145 | CSession__OnRecvEntityCustomName | Receives packet to set custom name/title on entity; resolves by account ID, copies name data, triggers action 7 vtable callback. |
| 0x00D0CBE0 | 76 | PacketHandler__OnRecvEntitySkillEffect | Processes incoming packet to apply elemental skill effects at entity's walk coordinates (x, y from packet offset +6, +8). |
| 0x00D0CCF0 | 47 | CSession__OnRecvEntityValidation | Removes entity effects and sends action 0xd (likely entity acknowledgment/sync) if validation succeeds |
| 0x00D0CD20 | 451 | PacketHandler__OnRecvEntitySpawn | Processes entity spawn packet: creates/finds actor, initializes state, sets position/direction/speed, dispatches action 0x79 (new) or 0x7c (existing). |
| 0x00D0CEF0 | 458 | PacketHandler__OnRecvEntitySpawnExt | Handles extended entity spawn packet by creating/updating 3D actor with additional field data from network packet. |
| 0x00D0D0C0 | 1 | CEntity__send_effect_0x95 | Sends effect 0x95 via virtual call through entity's connection chain |
| 0x00D0D0F0 | 136 | CSession__OnRecvEntityActionRequest | Processes entity action request packet, validates game mode, updates actor action sequence, and displays action UI window (0x2a5). |
| 0x00D0D220 | 132 | PacketHandler__OnRecvQuestUpdate_or_ShowTradeInfo | Initializes quest/repute manager singleton, then displays trade window item info via UI handler. |
| 0x00D0D340 | 94 | PacketHandler__OnRecvGuildPositionData | Processes guild position data packet, updating three position fields (0x26c/0x270/0x274) in guild structure, refreshes UI window if active. |
| 0x00D0D3A0 | 1 | CEntity__large_handler_00d0d3a0 | CEntity: large handler 00d0d3a0 |
| 0x00D17EAF | 111 | caseD_1470 | Switch case handler for case 0x1470 in the packet processing dispatcher. Handles a specific server packet type with associated data extraction and processing logic. |
| 0x00D1B620 | 620 | PacketHandler__OnRecvPetEggResult | Processes pet egg hatch result packet: success (type 0) creates pet, shows green message; error type 3 shows 0xbc1 MsgString, others show 0xbd9 |
| 0x00D1B890 | 131 | PacketHandler__OnRecvPetActionResult | Processes pet action result packet; shows error dialogs on failure or sends pet info action 0x89 on success. |
| 0x00D1B960 | 1 | CEquipWnd__refresh_and_clear_slots | Refreshes all equip slots and clears all equip item strings |
| 0x00D1BF40 | 98 | CSession__OnRecvMapChange | Processes map change packet by clearing skill flags, refreshing equipment/guild/status windows on zone transition. |
| 0x00D1BFB0 | 160 | PacketHandler__OnRecvPartyMemberFavoriteGrade | Receives party member favorite item grade packet, updates member data and refreshes party window UI. |
| 0x00D1C050 | 343 | CSession__OnRecvExpGain | Processes experience gain packets (type 5/7 for base/job EXP), updates globals, displays floating numbers and skill window effects. |
| 0x00D1C1B0 | 409 | PacketHandler__OnRecvPetNameResult | Handles equipment naming packet response: success shows item name in green dialog, failure shows error message 0xbc1 and unequips item |
| 0x00D1C350 | 304 | PacketHandler__OnRecvEquipmentUpdate | Processes equipment state update packet, iterates equipment entries, validates positions, and updates equipped item slots. |
| 0x00D1C480 | 161 | PacketHandler__OnRecvNpcClassChange | Parses NPC class change packet (v0/v1), extracts sprite/class ID and position data, forwards to update handler. |
| 0x00D1DA70 | 532 | UIWidget__show_tooltip_at_bounds | Allocates tooltip rect from bounds, applies minimum size constraint with centering, stores color, inserts into QuadTree, then invokes virtual method. |
| 0x00D1E1F0 | 94 | tree_node_delete_recursive | Recursively deletes RB-tree nodes by traversing right children and freeing 0x4C-byte node structures used in std::map/set cleanup. |
| 0x00D1F990 | 256 | get_langtype_from_service | Maps server subtype and service type combination to numeric language ID for regional client localization. |
| 0x00D1FD50 | 112 | get_job_class_string | Maps job class ID to localized string via GetMsgString lookup; ranges: novice/1st (<1001), 2nd/trans (<3001), 3rd (<6001), 4th (<10001). |
| 0x00D268B0 | 209 | CGameMode__initialize_description_string | Initializes a local string buffer with XOR stack canary protection and conditional string assignment logic. |
| 0x00D293B0 | 18 | ShowServiceTypeError_wrapper | Wrapper that calls ShowServiceTypeError with a hardcoded "No Packet Encryption" message and error code 0 |
| 0x00D2B280 | 38 | strlen_and_assign_to_string | Calculates C-string length and assigns it to std::string object via range assignment |
| 0x00D2C150 | 30 | pkt_handler__set_max_char_count | Sets global max character count from packet data if value is less than 101 (0x65). |
| 0x00D2C1E0 | 22 | ConnectionInfoVector__DestroyRange_wrapper | Wrapper that reorders parameters before calling ConnectionInfoVector__DestroyRange to destroy a range of vector elements. |
| 0x00D2C230 | 147 | ConnectionInfoVector__MoveInsertFwd | Moves and inserts ConnectionInfo elements forward in vector, copying range [param_2, param_3) to param_4 with 0x80-byte strides. |
| 0x00D2C300 | 145 | ConnectionInfoVector__MoveInsertBwd | Moves and inserts ConnectionInfo elements backward in vector by copying range [param_2, param_3) to param_4 with 0x80 stride, then destroys source range. |
| 0x00D2C500 | 51 | STL_Vector__Deallocate | Deallocates dynamic memory for a vector-like container with element size 0x80 bytes, validating capacity constraints before deletion. |
| 0x00D2C570 | 44 | ConnectionInfoVector__push_back | Appends ConnectionInfo element to vector; reallocates if capacity exceeded, otherwise increments size by 0x80 bytes. |
| 0x00D2C5A0 | 49 | CLuaActorContainer__ctor | Initializes CLuaActorContainer instance with vtable pointer and zeroed member fields for Lua actor management. |
| 0x00D2C5E0 | 82 | CLua__FreeThreads | Cleans up and frees a Lua thread object, nullifying the thread pointer after deallocation. |
| 0x00D2C640 | 100 | CLua__FreeThreadsAndDelete | Destructor that frees Lua thread from param_1[1] and optionally deletes the CLua object if param_2 flag is set. |
| 0x00D2C6B0 | 107 | CAI__GetClampedAttackRange | Returns max of owner actor's attack range and provided param; looks up owner via actor's owner field at offset 0x32C. |
| 0x00D2C720 | 28 | CLuaActorContainer__FreeLuaThread | Safely deallocates a Lua thread stored in CLuaActorContainer by calling luaE_freethread and nullifying the pointer. |
| 0x00D2C740 | 255 | CAI__LoadScript | Creates Lua state, registers AI builtins, loads and executes AI script file; returns status code (0=success, 1=no file, 2=alloc fail, 3=error) |
| 0x00D2C840 | 502 | CAI__Update | Updates AI state by calling AI.lua's main function every 140ms, manages homunculus/mercenary auto-attack timing via Lua. |
| 0x00D2CA40 | 538 | CAI__RegisterLuaFunctions | Registers Lua API functions for AI control (GetActors, Trace, Move, Attack, etc.) with conditional homunculus/mercenary variants. |
| 0x00D2CC60 | 57 | CLua__PushNumberField | Pushes an integer parameter as a Lua number and sets it to the "MyEnumy" field in a Lua table. |
| 0x00D2CCA0 | 432 | CAI__LuaAttack_Homunculus | Lua callback validating homunculus target state and attack delay, then sends packet 0x233 to server. |
| 0x00D2CE50 | 354 | CAI__LuaAttack_Mercenary | Lua callback validating mercenary target state (not dead/invisible/petrified) and sends attack packet 0x233 with rate limiting. |
| 0x00D2CFC0 | 220 | CAI__LuaGetActors | Creates Lua table of all actor IDs in current scene plus player's account ID as final entry. |
| 0x00D2D0A0 | 413 | CAI__LuaGetMsg | Retrieves queued AI command message for homunculus/mercenary actor, dispatches by type (move/target/skill), returns Lua table. |
| 0x00D2D260 | 413 | CAI__LuaGetResMsg | Retrieves queued AI response message for homunculus/mercenary, constructs Lua table with message type and parameters, dequeues message. |
| 0x00D2D420 | 55 | CAI__LuaGetTick | Lua binding that pushes current tick count with offset adjustment to Lua stack, returns 1 for Lua |
| 0x00D2D460 | 1522 | CAI__LuaGetV_Homunculus | Lua wrapper that retrieves various homunculus properties (position, HP/SP, job, target, ranges) by case ID for AI scripting. |
| 0x00D2DA90 | 1573 | CAI__LuaGetV_Mercenary | Lua getter for mercenary AI properties (position, HP, SP, attack range, skill range, target info) |
| 0x00D2E100 | 361 | CAI__LuaIsMonster | Lua wrapper checking if actor ID is monster by validating job class range and entity flags (bit1/bit2/bit6). |
| 0x00D2E280 | 388 | CAI__LuaMove | Lua callback validating homunculus/mercenary movement within 25 cells, encoding destination into packet 0x232 and sending to server. |
| 0x00D2E410 | 146 | CAI__LuaMoveToOwner | Lua wrapper sending packet 0x234 to command homunculus/mercenary to follow owner by AID. |
| 0x00D2E4B0 | 285 | CAI__LuaSkillGround | Lua callback that validates ground-targeted skill (actor/skill/coords/level) and sends CMode message 0x46 packet if actor is homunculus/mercenary. |
| 0x00D2E5D0 | 521 | CAI__LuaSkillObject | Lua callback for target-targeted skills; validates target attackability and sends CMode message 0x45 packet with skill/actor/target IDs. |
| 0x00D2E7E0 | 122 | Lua_GetStringLength | Retrieves a Lua string argument, calculates its length by scanning for null terminator, and assigns to std::string. |
| 0x00D2E8D0 | 341 | CAI__LuaSetTraceString | Lua callback that validates and caches a trace/debug string in thread-local storage, comparing against previous value. |
| 0x00D2EE20 | 122 | CAI__LuaGetStringLength | Extracts a Lua string parameter and calculates its length by scanning for null terminator. |
| 0x00D2EF30 | 67 | CAI__LuaSetTableValue | Sets a Lua table entry with numeric key and value at stack index -3 (likely AI state table). |
| 0x00D2EF80 | 115 | C3dActorSub1__ctor | Constructs C3dActorSub1 object, initializes vtable, loads 3D actor/sprite resources, sets up SEH frame. |
| 0x00D2F000 | 785 | C3dActorPC__copy_ctor | Copy constructor for C3dActorPC; initializes rendering state, gender, job, sprite, and copies member fields from source actor. |
| 0x00D2F320 | 120 | C3dActorSkillUnit__ctor | Initializes C3dActorSkillUnit with vtable, visibility flag, and current timestamp from timeGetTime(). |
| 0x00D2F3A0 | 84 | C3dActorEffect__ctor | Initializes C3dActorEffect instance with vtable pointer and exception handling frame setup for visual effects. |
| 0x00D2F400 | 508 | C3dActorNPC__copy_ctor | Copy constructor for C3dActorNPC; initializes actor state, copies properties from source, loads sprite resources, and sets mounted flag. |
| 0x00D2F600 | 795 | C3dActorMob__copy_ctor | Copy constructor for C3dActorMob; initializes mob actor from source, copies properties, loads sprite resources, and manages parent reference. |
| 0x00D2F920 | 817 | C3dActorHomun__copy_ctor | Copy constructor for C3dActorHomun; initializes homunculus actor with source properties, mounted state, and sprite resources. |
| 0x00D2FC60 | 435 | C3dActorItem__ctor | Initializes a C3dActorItem ground item entity with default position (0,0,0), direction 4, scale 1.0, and mounted job ID 0x437. |
| 0x00D2FE20 | 94 | C3dActorWarp__ctor | Initializes C3dActorWarp instance with vtable setup, clears field 0x4e, performs stack cookie validation. |
| 0x00D2FE80 | 156 | C3dActorBase__ctor | Initializes C3dActorBase object with vtable, zeroed animation state, current timestamp, and max HP of 9999. |
| 0x00D2FF20 | 122 | C3dActorSub2__ctor | Constructs C3dActorSub2 object, initializes vtable, loads action/sprite resources, sets visibility flag to 1. |
| 0x00D2FFA0 | 216 | C3dActorAnim__ctor | Initializes C3dActorAnim with vtable, animation speed (100.0f), scale (1.0f), 3x3 direction grid, and -4000ms timer offset. |
| 0x00D30080 | 71 | C3dActorSub1__dtor | Destructor for C3dActorSub1 class; calls base C3dActor destructor with stack canary verification. |
| 0x00D300D0 | 71 | C3dActorPC__dtor | Destructor for C3dActorPC class that calls parent C3dActorComplex destructor with stack canary validation. |
| 0x00D30120 | 71 | C3dActorSkillUnit__dtor | Destructor for C3dActorSkillUnit that calls base C3dActor destructor with stack canary validation. |
| 0x00D30170 | 132 | C3dActorEffect__dtor | Destructor for C3dActorEffect that cleans up UI window manager state and effect list window resources. |
| 0x00D30200 | 71 | C3dActorNPC__dtor | Destructor for C3dActorNPC class; calls parent C3dActorBase destructor with stack canary XOR protection |
| 0x00D30250 | 71 | C3dActorMob__dtor | Destructor for C3dActorMob class; calls parent C3dActorComplex destructor with stack canary protection. |
| 0x00D302A0 | 71 | C3dActorHomun__dtor | Destructor for C3dActorHomun class; sets vftable and calls parent C3dActorComplex destructor with stack guard verification. |
| 0x00D302F0 | 71 | C3dActorItem__dtor | Destructor for C3dActorItem class that invokes parent C3dActorBase destructor with stack guard cookie validation. |
| 0x00D30340 | 71 | C3dActorWarp__dtor | Destructor for C3dActorWarp class; calls base C3dActor destructor with stack cookie validation. |
| 0x00D30390 | 146 | C3dActorBase__dtor | Destructor for C3dActorBase that unregisters UI windows at offsets 0x109 and 0x10a, then calls cleanup. |
| 0x00D30430 | 71 | C3dActorSub2__dtor | Destructor for C3dActorSub2 class; calls base C3dActor destructor with stack canary validation |
| 0x00D30480 | 95 | C3dActorAnim__dtor | Destructor for C3dActorAnim class; cleans up vftable, std::string member, and calls base class dtor. |
| 0x00D304E0 | 96 | C3dActorSub1__scalar_dtor | Destructor for C3dActorSub1 that calls base destructor and conditionally deallocates object memory. |
| 0x00D30550 | 96 | C3dActorPC__scalar_dtor | Destructor for C3dActorPC class that calls parent dtor, optionally deallocates 0x508 bytes if delete flag set. |
| 0x00D305C0 | 96 | C3dActorSkillUnit__scalar_dtor | Destructor for C3dActorSkillUnit that calls base dtor and optionally deallocates 0x140 bytes if param_2 flag set. |
| 0x00D30630 | 153 | C3dActorEffect__scalar_dtor | Destructor for C3dActorEffect that cleans up UI window state and deallocates the object if requested. |
| 0x00D306D0 | 96 | C3dActorNPC__scalar_dtor | Destructor for C3dActorNPC class; calls base destructor and optionally deallocates object memory. |
| 0x00D30740 | 96 | C3dActorMob__scalar_dtor | Destructor for C3dActorMob class; calls parent dtor, optionally deallocates 0x510 bytes if delete flag set |
| 0x00D307B0 | 96 | C3dActorHomun__scalar_dtor | Destructor for C3dActorHomun class that calls parent dtor and optionally deallocates the 0x510-byte object. |
| 0x00D30820 | 96 | C3dActorItem__scalar_dtor | Destructor for C3dActorItem that calls base class destructor and optionally deallocates the object if delete flag is set. |
| 0x00D30890 | 96 | C3dActorWarp__scalar_dtor | Destructor for C3dActorWarp class that calls base dtor and conditionally deallocates 0x140 bytes if flag set. |
| 0x00D30900 | 35 | C3dActorBase__scalar_dtor | Scalar deleting destructor for C3dActorBase; calls dtor and conditionally frees 0x438-byte object if flag set. |
| 0x00D30930 | 96 | C3dActorSub2__scalar_dtor | Destructor for C3dActorSub2 that calls base destructor, optionally deallocates 0x140 bytes if param_2 flag set |
| 0x00D309A0 | 116 | C3dActorAnim__scalar_dtor | Destructor for C3dActorAnim scalar type; calls base destructor, cleans std_string, optionally frees memory with security cookie validation. |
| 0x00D30ED0 | 31 | C3dActorPC__ActivateAndResetTimer | Activates PC entity, clears pending flag, and resets animation timer to current system time. |
| 0x00D30EF0 | 31 | C3dActorMob__ActivateAndResetTimer | Activates a mob actor and resets its timer state by setting flags and capturing current system time. |
| 0x00D30F10 | 31 | C3dActorHomun__ActivateAndResetTimer | Activates homunculus, resets animation/state flags, and records current tick timestamp for timer management. |
| 0x00D30F30 | 31 | C3dActorNPC__ActivateAndResetTimer | Activates NPC actor, resets animation timer flags, and initializes timestamp from timeGetTime() at offset 0x8c. |
| 0x00D30FE0 | 21 | C3dActor__ClearNameString | Clears the global actor name string buffer by assigning an empty range to DAT_00fce968. |
| 0x00D314B0 | 1405 | CGameMode__UpdateActorFrame | Updates actor frame state: fade alpha, job-specific rendering (homunculus/mercenary/elemental), nameplate, AI script loading, and overhead windows. |
| 0x00D32290 | 86 | C3dActorPC__GetIdleAnimationVariant | Selects idle animation variant for PC actor by checking entity flags; defaults to random if no flags set. |
| 0x00D323F0 | 74 | C3dActorHomun__CheckIdleActionFlags | Checks homunculus entity flags (bits 2, 6, 1) at offset 0x2c0; calls rand() if all flags unset. |
| 0x00D32470 | 150 | C3dActorMob__SelectIdleAction | Selects idle animation for mob actor; checks entity flags and sets standing action 0x2d if flag 0x10 is set. |
| 0x00D325E0 | 25 | C3dActor__SetDefaultAction | Renders sprite frame at index 1 with layer 0; appears to be a wrapper for default standing pose display. |
| 0x00D32600 | 1053 | C3dActorAnim__RenderAction | Renders 3D actor animation frame; handles standing pose with shadow, sprite rendering for homunculi/NPCs based on job ID. |
| 0x00D32AA0 | 134 | C3dActorPC__OnActionEvent | Handles PC walk position updates (action 0xe); copies coordinates, sets active flag, applies color, resets timer. |
| 0x00D32B30 | 85 | C3dActorMob__OnActionEventDispatch | Dispatches mob action events via jump table for param_2 < 4, otherwise delegates to PC handler. |
| 0x00D32C00 | 49 | C3dActorSkillUnit__OnActionEvent | Delegates skill unit action events to base C3dActor handler by forwarding 11 parameters with 2 null padding args. |
| 0x00D32C40 | 209 | C3dActorNPC__OnActionEvent | Handles NPC walk update packets (0xe); updates position/cell coords, resets timer, delegates other actions to dispatcher. |
| 0x00D32D20 | 85 | C3dActorHomun__DispatchActionEvent | Dispatches homunculus action events via jumptable or delegates to PC action processing based on param_2 index. |
| 0x00D32DF0 | 85 | C3dActorItem__OnActionEventDispatch | Dispatches action events for 3D actor items; routes to PC handler or executes jumptable-based action based on param_2 |
| 0x00D32EC0 | 85 | C3dActorSub2__OnActionEventDispatch | Dispatcher for 3D actor action events; routes to PC-specific handler or executes jump table based on action type and parameters. |
| 0x00D32F90 | 135 | C3dActorPC__OnEffectEvent | Handles PC entity effect events: applies body aura (type 0), alpha masking (type 1), transparency flag (type 3), delegates others to action state processor. |
| 0x00D33020 | 1764 | C3dActorPC__HandleAppearanceAndEmotionActions | Handles PC actor appearance changes (job class, visibility) and emotion/head display UI rendering for job types 7-14. |
| 0x00D33740 | 190 | C3dActorAnim__OnActionEvent | Handles walk action events (0xe) for 3D actors: sets position/direction, applies height offset, initializes movement speed to 5.0f. |
| 0x00D33800 | 115 | C3dActorWarp__OnActionEvent | Handles warp portal action events (type 0xe); extracts and assigns portal name string from actor data, then delegates to base handler. |
| 0x00D33920 | 16 | C3dActorPC__SetFlag4d8 | Sets a boolean flag at offset 0x4d8 in C3dActorPC instance, likely controlling PC actor visual state or rendering property. |
| 0x00D33930 | 16 | C3dActorPC__SetJobID | Sets the job ID field (offset 0x4d4) for a player character actor object. |
| 0x00D33940 | 124 | C3dActorBase__UpdateSpriteAndJobName | Updates actor sprite/job ID and retrieves corresponding sprite display name from lookup table. |
| 0x00D339C0 | 271 | C3dActorBase__LoadSpriteFiles | Loads sprite and action files for 3D actors (NPCs, homunculi, monsters) based on job ID with appropriate directory paths. |
| 0x00D33AD0 | 1802 | C3dActorPC__ChangeActionState | State machine for PC actor action changes (stop/walk/sit/dead/attack/appear); updates bounding box, position, and effect attachments |
| 0x00D34380 | 16 | CRenderComp_09__SetVtable | Initializes vtable pointer for CRenderComp_09 class instance at given address |
| 0x00D34390 | 16 | CRenderComp_09b__SetVtable | Initializes vtable pointer for CRenderComp_09b class instance to point to virtual method table |
| 0x00D343A0 | 16 | CRenderComp_09c__SetVtable | Initializes vtable pointer for CRenderComp_09c class instance to enable virtual method dispatch |
| 0x00D343B0 | 16 | CRenderComp_0a__SetVtable | Initializes vtable pointer for CRenderComp_0a class with virtual method table address. |
| 0x00D343C0 | 16 | CRenderComp_0a2__SetVtable | Sets virtual method table pointer for CRenderComp_0a2 object initialization. |
| 0x00D343D0 | 16 | CRenderComp_0a3__SetVtable | Sets the virtual method table pointer for CRenderComp_0a3 class instance to enable polymorphic behavior. |
| 0x00D343E0 | 16 | CRenderComp_0a4__SetVtable | Sets the vtable pointer for CRenderComp_0a4 object to enable virtual method dispatch. |
| 0x00D343F0 | 22 | CRenderComp_0d__InitWithOwner | Initializes a CRenderComp_0d render component with owner reference and vtable pointer setup. |
| 0x00D34410 | 22 | CRenderComp_0d2__InitWithOwner | Initializes a CRenderComp_0d2 object with owner reference by setting vtable and copying owner pointer. |
| 0x00D34430 | 22 | CRenderComp_0e__InitWithOwner | Initializes a CRenderComp_0e instance with owner reference by setting vtable and copying owner pointer. |
| 0x00D34450 | 16 | CRenderComp_08__SetVtable | Sets the virtual method table pointer for CRenderComp_08 class instance |
| 0x00D34460 | 22 | CRenderComp_0e2__InitWithOwner | Initializes a CRenderComp_0e2 object with owner reference, sets vtable and copies owner pointer. |
| 0x00D34480 | 16 | CRenderComp_08b__SetVtable | Sets virtual method table pointer for CRenderComp_08b render component instance |
| 0x00D34490 | 16 | CRenderComp_08c__SetVtable | Initializes vtable pointer for CRenderComp_08c class instance at given address. |
| 0x00D344A0 | 16 | CRenderComp_08d__SetVtable | Initializes virtual function table pointer for CRenderComp_08d render component class instance |
| 0x00D344B0 | 16 | CRenderComp_08e__SetVtable | Sets virtual method table pointer for CRenderComp_08e class instance to enable polymorphic rendering behavior. |
| 0x00D344C0 | 16 | CRenderComp_08f__SetVtable | Sets virtual method table pointer for CRenderComp_08f rendering component class instance |
| 0x00D344D0 | 16 | CRenderComp_07__SetVtable | Sets the virtual method table pointer for CRenderComp_07 class instance to enable polymorphic behavior. |
| 0x00D344E0 | 16 | CRenderComp_07b__SetVtable | Sets virtual method table pointer for CRenderComp_07b render component class instance. |
| 0x00D344F0 | 16 | CRenderComp_09d__SetVtable | Sets vtable pointer for CRenderComp_09d class instance to enable virtual method dispatch |
| 0x00D34500 | 65 | CRenderComp_A__scalar_dtor | Scalar destructor for CRenderComp_A that conditionally deallocates 8-byte object memory with XOR stack canary validation |
| 0x00D34550 | 65 | CRenderComp_B__scalar_dtor | Scalar destructor for CRenderComp_B that conditionally deallocates 8-byte object memory with stack canary validation. |
| 0x00D345A0 | 65 | CRenderComp_C__scalar_dtor | Scalar destructor for CRenderComp that conditionally deallocates 8-byte object memory via operator delete. |
| 0x00D345F0 | 65 | CRenderComp_D__scalar_dtor | Scalar destructor for CRenderComp that conditionally deallocates 8-byte object memory via operator delete |
| 0x00D34640 | 65 | CRenderComp_E__scalar_dtor | Scalar destructor for CRenderComp_E that conditionally deallocates 8-byte object memory with stack canary protection. |
| 0x00D34690 | 65 | CRenderComp_F__scalar_dtor | Destructor for CRenderComp_F that conditionally deallocates 8-byte object based on param_2 flag |
| 0x00D346E0 | 65 | CRenderComp_G__scalar_dtor | Scalar destructor for CRenderComp_G that conditionally deallocates 8-byte object memory via operator delete |
| 0x00D34730 | 65 | CRenderComp_H__scalar_dtor | Scalar destructor for CRenderComp_H that conditionally deallocates 8-byte object with XOR-based stack canary verification. |
| 0x00D34780 | 65 | CRenderComp_I__scalar_dtor | Destructor for CRenderComp_I that conditionally deallocates 8 bytes of memory if param_2 is true |
| 0x00D347D0 | 65 | CRenderComp_J__scalar_dtor | Scalar destructor for CRenderComp that conditionally deallocates 8-byte object memory with XOR stack canary protection. |
| 0x00D34820 | 65 | CRenderComp_K__scalar_dtor | Destructor for CRenderComp that conditionally deallocates the object based on param_2 flag with stack cookie validation. |
| 0x00D34870 | 65 | CRenderComp_L__scalar_dtor | Destructor for CRenderComp_L that conditionally deallocates 8-byte object if delete flag is set |
| 0x00D348C0 | 65 | CRenderComp_M__scalar_dtor | Scalar destructor for CRenderComp that conditionally deallocates 8-byte object if deletion flag is set. |
| 0x00D34910 | 65 | CRenderComp_N__scalar_dtor | Destructor for CRenderComp_N that conditionally deallocates 8-byte object memory with stack cookie validation. |
| 0x00D34960 | 65 | CRenderComp_O__scalar_dtor | Scalar destructor for CRenderComp_O that conditionally deallocates 8-byte object memory via operator delete |
| 0x00D349B0 | 65 | CRenderComp_P__scalar_dtor | Scalar destructor for CRenderComp_P that conditionally deallocates 8 bytes with XOR stack canary validation. |
| 0x00D34A00 | 65 | CRenderComp_Q__scalar_dtor | Scalar destructor for CRenderComp that conditionally deallocates 8-byte object if destruction flag is set |
| 0x00D34A50 | 65 | CRenderComp_R__scalar_dtor | Destructor for CRenderComp_R that conditionally deallocates 8-byte object if param_2 is non-zero |
| 0x00D34AA0 | 65 | CRenderComp_S__scalar_dtor | Destructor for CRenderComp_S that conditionally deallocates 8-byte object based on param_2 flag. |
| 0x00D34AF0 | 65 | CRenderComp_T__scalar_dtor | Destructor for CRenderComp_T template class; conditionally deallocates 8-byte object if param_2 is non-zero. |
| 0x00D34E00 | 16 | CRenderComp2_09__SetVtable | Initializes virtual method table pointer for CRenderComp_09 class instance |
| 0x00D34E10 | 16 | CRenderComp2_09b__SetVtable | Sets the virtual method table pointer for CRenderComp_09b class instance to enable polymorphic rendering operations. |
| 0x00D34E20 | 16 | CRenderComp2_09c__SetVtable | Sets virtual method table pointer for CRenderComp2 object to enable polymorphic rendering behavior |
| 0x00D34E30 | 16 | CRenderComp2_0a__SetVtable | Sets the virtual method table pointer for CRenderComp_0a class instance to enable polymorphic behavior. |
| 0x00D34E40 | 16 | CRenderComp2_0a2__SetVtable | Initializes vtable pointer for CRenderComp_0a2 class instance at given address |
| 0x00D34E50 | 16 | CRenderComp2_0a3__SetVtable | Sets virtual method table pointer for CRenderComp2_0a3 object to enable polymorphic behavior |
| 0x00D34E60 | 16 | CRenderComp2_0a4__SetVtable | Initializes virtual method table pointer for CRenderComp_0a4 render component class |
| 0x00D34E70 | 22 | CRenderComp2_0d__InitWithOwner | Initializes a render component with owner reference by setting vftable pointer and copying owner handle from param_1+4. |
| 0x00D34E90 | 22 | CRenderComp2_0d2__InitWithOwner | Initializes CRenderComp2_0d2 instance with owner by setting vtable pointer and copying owner reference |
| 0x00D34EB0 | 22 | CRenderComp2_0e__InitWithOwner | Initializes a render component with owner reference by setting vtable pointer and copying owner handle from offset +4. |
| 0x00D34ED0 | 16 | CRenderComp2_08__SetVtable | Sets the virtual method table pointer for CRenderComp_08 render component instance |
| 0x00D34EE0 | 22 | CRenderComp2_0e2__InitWithOwner | Initializes CRenderComp2_0e2 instance with owner reference, setting vtable and copying owner pointer. |
| 0x00D34F00 | 16 | CRenderComp2_08b__SetVtable | Sets virtual method table pointer for CRenderComp2_08b class instance to enable polymorphic behavior |
| 0x00D34F10 | 16 | CRenderComp2_08c__SetVtable | Sets the virtual method table pointer for CRenderComp2 class instance to enable polymorphic behavior. |
| 0x00D34F20 | 16 | CRenderComp2_08d__SetVtable | Initializes vtable pointer for CRenderComp2 class with virtual method table address |
| 0x00D34F30 | 16 | CRenderComp2_08e__SetVtable | Sets the vtable pointer for CRenderComp2_08e object to enable virtual method dispatch |
| 0x00D34F40 | 16 | CRenderComp2_08f__SetVtable | Sets the virtual method table pointer for CRenderComp object to enable polymorphic behavior |
| 0x00D34F50 | 16 | CRenderComp2_07__SetVtable | Sets virtual method table pointer for CRenderComp2_07 class instance to enable polymorphic rendering behavior |
| 0x00D34F60 | 16 | CRenderComp2_07b__SetVtable | Sets vtable pointer for CRenderComp2_07b object to enable virtual method dispatch |
| 0x00D34F70 | 16 | CRenderComp2_09d__SetVtable | Sets the vtable pointer for CRenderComp object to enable virtual method dispatch |
| 0x00D354D0 | 828 | CMapView__ctor | Initializes CMapView object with vtable, zeroes 30x30 tile grids for 3 layers, clears render parameters and display state flags. |
| 0x00D35810 | 766 | C3dActorComplex__ctor | Initializes C3dActorComplex instance with vtable, two 9-element equipment/accessory vectors, STL map sentinel node, and state fields. |
| 0x00D35BE0 | 181 | CMapView__dtor | Destructor for CMapView class; releases tile resources, unregisters UI window, destroys particles, strings, and 3D actors. |
| 0x00D35CA0 | 253 | C3dActorComplex__dtor | Destructor for C3dActorComplex; releases 9 equipment slots, unregisters UI window, deallocates vectors/maps/strings, calls base cleanup. |
| 0x00D35DA0 | 135 | CActorController__dtor | Destructor for CActorController; cleans up animation maps, item slot manager, and actor layer tree structures before deallocation. |
| 0x00D35E40 | 202 | CMapView__scalar_dtor | Destructor for CMapView class that cleans up tile resources, UI window references, particle effects, actors, and optionally deallocates the object. |
| 0x00D35F10 | 281 | C3dActorComplex__scalar_dtor | Destructor for C3dActorComplex that releases resource handles, unregisters UI window, deallocates STL containers, and optionally frees memory. |
| 0x00D36030 | 35 | CActorController__scalar_dtor | Scalar destructor for CActorController that calls base destructor and conditionally frees 0xac bytes if delete flag is set. |
| 0x00D36060 | 170 | C3dActorPC__PushActionToQueue | Pushes action to PC actor's action queue (std::list at +0x3b0), allocates 12-byte node, throws on overflow (>0x15555555 elements) |
| 0x00D36110 | 356 | C3dActorPC__UpdateMountOffset | Calculates and updates mount sprite position offsets (0x4dc/0x4e0) by comparing base and ride sprite frame dimensions. |
| 0x00D36280 | 89 | C3dActorPC__RefreshEquipDisplay | Updates PC actor's visual equipment display by setting gender and invoking equipment rendering with body/weapon/armor slot data. |
| 0x00D36330 | 255 | C3dActor__AdjustShadowPosition | Adjusts shadow position offsets for entities (player/NPC/item) based on resolution threshold and entity type. |
| 0x00D36430 | 1428 | C3dActorPC__RenderEquipmentLayer | Renders equipment sprite layer for PC actors, resolving job IDs and building sprite/palette data for frame rendering. |
| 0x00D369D0 | 900 | C3dActorComplex__RenderBaseSprite | Renders base sprite frame for complex actor with animation, transforms, alpha blending; handles dead state and entity-specific rendering logic. |
| 0x00D36D60 | 360 | C3dActorPC__CallLuaDrawOnTop | Calls Lua DrawOnTop/\_New\_DrawOnTop script function with player state to determine equipment layer rendering priority. |
| 0x00D36ED0 | 597 | C3dActorPC__GetMirroredDirection | Maps attack animation directions to mirrored sprite frames for asymmetric weapon jobs based on gender during attack motions 0x58-0x5f. |
| 0x00D37200 | 1395 | C3dActorPC__AdjustEquipRenderOffset | Adjusts equipment render offsets based on layer type and headgear ID with resolution-dependent positioning for PC actors. |
| 0x00D37790 | 2368 | C3dActorPC__RenderSpriteFrame | C3dActorPC: RenderSpriteFrame |
| 0x00D380D0 | 160 | CMapView__ClearTileResources | Clears tile rendering resources in CMapView by zeroing 20 tile entries and deleting 300 0x28-byte effect batch objects across nested loops. |
| 0x00D381B0 | 37 | C3dActorComplex__GetSpriteResourceName | Returns sprite layer resource name from 3D actor's sprite vector, or empty string if layer is uninitialized. |
| 0x00D381E0 | 270 | C3dActorComplex__InitSpriteLayerNames | Initializes a vector of 9 empty sprite layer name strings for a 3D actor, then copies the base sprite name to the first entry. |
| 0x00D38310 | 40 | C3dActorPC__GetLayerSpriteResource | Retrieves a sprite resource pointer from a layer array at the given index with bounds checking. |
| 0x00D38340 | 20 | is_direction_equal_one | Checks if input parameter equals 1, returns boolean result (likely head direction validation or direction ID verification) |
| 0x00D38370 | 298 | C3dActor__GetBodySpriteByJob | Maps job class IDs to sprite resource indices (1-6, 0x60, 100, 0x113) for body sprite loading across all job classes. |
| 0x00D385E0 | 294 | C3dActor__GetShadowSpriteByJob | Maps job class ID to shadow sprite index, returning resource handle for job-specific shadow sprite variant. |
| 0x00D38850 | 150 | C3dActorPC__CalcDirectionFromDelta | WARP Phase 6: Null check trampoline added at entry. If param_1 ([EBP+8]) is NULL, returns 9 (default direction). Prevents crash when RenderAllLayers passes NULL actor+0x60 (uninitialized sprite resource for custom jobs). Crash was at FindCellIndex 0x7188f3 (CMP EDX,[EBX+EDI*4+0x11c] with EBX=0). |
| 0x00D389C0 | 271 | C3dActor__CompareSpritePalette | Compares sprite palettes between two actor frame data structures, returning palette difference or validation result. |
| 0x00D38AD0 | 206 | C3dActor__GetHeadPaletteCountByType | Returns maximum palette count (0x20/0x28/0x50/0x60) for character head customization by equipment type and job ID. |
| 0x00D38CF0 | 37 | CResource__GetNameOrDefault | Returns resource name pointer if resource exists at index, otherwise returns default empty/null name pointer |
| 0x00D38D20 | 270 | C3dActor__InitSpriteSlots | Allocates and initializes 9 sprite slots (0xD8 bytes) in C3dActor, populating first slot from actor's sprite resource name. |
| 0x00D38E50 | 19 | C3dActorPC__GetLayerPaletteResource | Retrieves a palette resource pointer from a layer array at the specified index offset within C3dActorPC object. |
| 0x00D38F20 | 108 | C3dActorPC__CheckRenderLayerVisibility | Returns whether PC actor should be rendered by checking entity flags (bits 12,16,13,27,28) and render layer state at offset 0x3dc. |
| 0x00D38F90 | 329 | C3dActor__CheckRidingState | Validates actor riding state and invokes Lua IsIgnoredRidingState callback for states 0/8/16/64 if conditions met. |
| 0x00D39130 | 575 | CItemOwner__GetEquipSlotPairResult | Determines equip slot compatibility code between two items based on item ID ranges (headgear/weapon/card types). |
| 0x00D39370 | 32 | IsValidAccessoryLayerIndex | Validates if param_1 is a valid accessory layer index (0x28-0x5F range); returns 1 if valid, 0 otherwise. |
| 0x00D393D0 | 36 | C3dActorPC__UnregisterEmoticonWindow | Unregisters and nullifies the emoticon UI window for a player character actor instance. |
| 0x00D39400 | 280 | C3dActor__ResetEquipState | Resets C3dActor equipment state and allocates/resizes 12-byte rendering buffer to 0x1324 entries (4900 items). |
| 0x00D3955B | 1 | CEntity__reset_combat_state | Resets combat/animation state: clears fields at 0x458-0x4e8 including target IDs (set to -1), combat flags, animation counters |
| 0x00D39635 | 1 | CEntity__clear_anim_field_444 | CEntity: clear anim field 444 |
| 0x00D39650 | 594 | C3dActor__UpdateFrame | Updates 3D actor per-frame: animation, nameplate, idle effects, body direction smoothing (0-360°), overhead windows, sound events. |
| 0x00D398B0 | 558 | C3dActor__UpdateFrameNPC | Updates NPC actor frame state: manages idle action sprites based on motion flags (dead/frozen/stone), handles sound events, and renders nameplate. |
| 0x00D39AE0 | 301 | C3dActor__UpdateGrannyAnimation | Updates Granny3D skeleton animation with elapsed time, handles blending transitions, and samples animation pose for rendering. |
| 0x00D39C10 | 105 | C3dActorPC__RenderNameplateA | Renders player character nameplate with calculated screen position offset based on viewport dimensions and character scale. |
| 0x00D39C80 | 105 | C3dActorPC__RenderNameplateB | Renders player nameplate with position offset calculation based on screen resolution and actor scale factor. |
| 0x00D39CF0 | 67 | C3dActorPC__GetGrannyAnimDurationLeft | Updates PC actor animation completion flag by checking if Granny animation duration remaining is below threshold. |
| 0x00D39D40 | 354 | C3dActor__ProcessMotionState | State machine processing actor motion states (walking/dead/sitting/standing/following), managing animations and target following behavior. |
| 0x00D39EC0 | 391 | C3dActorPC__ProcessStateMachine | Updates PC actor state machine per frame: handles walking, death, freeze, knockback, sitting, combo, special states with animation and direction updates. |
| 0x00D3A0A0 | 371 | C3dActorPC__RenderWeatherEffectParticles | Renders weather effect particles on PC actor with directional vector, mesh layers, and triple-buffered ground shadow grid. |
| 0x00D3A220 | 462 | C3dActorPC__RenderCharacterWithVisibility | Renders PC character with visibility checks for cloaking, Sightblaster effects, GM status, and mount state. |
| 0x00D3A3F0 | 2101 | C3dActorPC__RenderGrannyMeshLayer | Renders a Granny3D mesh layer for a PC actor with animation updates, matrix transforms, and vertex projection. |
| 0x00D3AC30 | 1336 | C3dActorPC__RenderCachedMeshLayer | Renders a cached mesh layer for a PC actor with matrix transformations, projection, and conditional mesh rendering based on rigidity and visibility flags. |
| 0x00D3B170 | 991 | C3dActorPC__RenderGMCharacter | Renders a GM character by projecting vertex coordinates, calculating screen position/scale, and loading associated resources for display. |
| 0x00D3B560 | 325 | C3dActorPC__InitializeRenderLayers | Initializes three doubly-linked list nodes for render layer management and invokes rendering pipeline for PC actor. |
| 0x00D3B6B0 | 1001 | C3dActorPC__RenderGroundShadowGrid | Renders a 34x34 grid shadow map for ground actor positioning using rotation-transformed shadow vertex data. |
| 0x00D3BAA0 | 180 | C3dActorPC__OnInputEvent | Handles player character input events with UI mode filtering before delegating to game mode processor. |
| 0x00D3C0E1 | 67 | C3dActor__create_and_handle_effect_0x158 | Creates effect 0x158 and attaches via C3dActor, then handles map cutin |
| 0x00D3C500 | 185 | C3dActorPC__OnActionEventDispatch | Dispatches player character action events; routes UI mode-dependent actions via jump table or delegates to game mode processor. |
| 0x00D3CB87 | 67 | C3dActor__create_and_handle_effect_0x158_00d3cb87 | Creates a visual effect (type 0x158) on a 3D actor and handles the result. Spawns the effect at the actor's position and stores the effect handle. |
| 0x00D3CD57 | 76 | C3dActor__create_effect_and_store_result | Creates a visual effect on a 3D actor and stores the returned effect handle. Spawns the effect at the actor's position and saves the result for later reference or cleanup. |
| 0x00D3D7C0 | 658 | C3dActorPC__LoadBodySprite | Loads body sprite resource for PC actor with job/gender-specific handling and frame dimension validation. |
| 0x00D3DA70 | 59 | C3dActorPC__InitBodySpriteFromCtor | Initializes body sprite instances for PC actor by iterating through 12 sprite entries and loading each via C3dActorPC__LoadBodySprite. |
| 0x00D3DAB0 | 201 | C3dActorPC__MapButtonToFacing | Maps directional input button bitmasks to character facing directions (0-12) and triggers facing animation playback. |
| 0x00D3DC00 | 74 | C3dActorHomun__InitJobSprite | Initializes homunculus job sprite by storing job ID and conditionally resolving/updating sprite rendering state. |
| 0x00D3DC50 | 53 | C3dActorPC__SetMotionStateWithGenderOverride | Sets actor motion state with gender override lookup, then invokes virtual method at offset 0x80. |
| 0x00D3DD70 | 134 | C3dActorPC__PlayFacingAnimation | Clears animation controls and plays a facing animation for a player character, with optional looping based on direction ID. |
| 0x00D3DE00 | 21 | set_field_10f_and_call_vtable_7c | Sets field at offset 0x10f then invokes virtual function at offset 0x7c in vtable |
| 0x00D3DE20 | 169 | C3dActorPC__BuildSpritePathByJob | Builds sprite file path for PC actor based on job ID, retrieving and assigning path from CItemOwner database. |
| 0x00D3DED0 | 162 | C3dActorPC__BuildSpritePath | Retrieves and caches sprite path for PC actor from CItemOwner, updates internal sprite path string. |
| 0x00D3DF80 | 119 | C3dActorPC__SetItemCatalogStream | Sets item catalog stream for PC actor; routes emotion stream for negative param, generic stream for non-negative param |
| 0x00D3E000 | 119 | C3dActorPC__GetItemCatalogStreamB | Sets PC actor's item catalog stream based on emotion type; dispatches packet 0xa0 (emotion) or 0x76 (default). |
| 0x00D3E240 | 66 | C3dActorPC__GetEquipSlotOffset | Sets player character equipment slot offset by clamping param_2 to global max and normalizing by divisor into float. |
| 0x00D3E290 | 74 | C3dActorPC__SetModeFlag | Sets player character animation mode flag with job-based direction lookup and normalized parameter clamping. |
| 0x00D3E2E0 | 31 | call_vtable_a0_and_set_field_109 | Calls virtual function at offset 0xa0, then stores param_3 into object field at offset 0x109 (0x424 bytes) |
| 0x00D3E300 | 31 | call_vtable_a0_and_set_field_10b | Invokes virtual method at offset 0xa0 with param_2, then stores param_3 at object offset 0x10b (440 bytes) |
| 0x00D3E340 | 27 | C3dActorPC__SetVisibilityAndRefreshSprite | Sets PC actor visibility flag at offset 0xB3 and invokes virtual method at offset 0x70 to refresh sprite rendering state. |
| 0x00D3E360 | 16 | set_appearance_or_status_flag | Sets a 4-byte field at offset 0x444 in object; likely appearance/status related based on typical RO client structure offsets |
| 0x00D3E370 | 462 | C3dActorPC__ReloadBodySprite | Reloads player body sprite by resolving job ID, loading appropriate sprite resource, and removing visual effects. |
| 0x00D3E540 | 16 | set_field_448 | Sets field at offset 0x448 in object; likely stores a game state value or UI element property. |
| 0x00D3E6B0 | 16 | set_field_440 | Sets field at offset 0x440 in object; likely setter for a game state or entity property. |
| 0x00D3E820 | 48 | C3dActorPC__InvokeVirtualMethodWithContext | Invokes virtual method at vtable offset 0x4c, passing actor context from offset 0x113 as 9th argument. |
| 0x00D3E850 | 714 | C3dActorPC__BuildSpriteResourcePath | Initializes PC actor sprite rendering parameters (job, gender, direction, equipment) and applies job ID remapping for mounted/special states. |
| 0x00D3EB20 | 1945 | C3dActorPC__InitializeGrannyModel | Initializes Granny 3D character model with appearance parameters (job, gender, head, body, palette, etc.) and creates effect vertices for mesh rendering. |
| 0x00D3F2C0 | 507 | C3dActorPC__BuildSpriteResourcePath2 | Initializes PC actor sprite rendering parameters, applies job/mounted state overrides, and triggers sprite resource loading callbacks. |
| 0x00D3F4E0 | 16 | set_appearance_or_status_field | Sets a 4-byte field at offset 0x42c in object, likely character appearance/status data based on Ragnarok memory layout patterns. |
| 0x00D3F620 | 29 | C3dActorPC__SetNpcInteractRadius | Sets NPC interaction radius for PC actor by retrieving location radius from item owner and storing in offset 0x54. |
| 0x00D3F640 | 1660 | C3dActorPC__SetActionAnimation | Sets PC actor animation based on action ID, updates sprite based on job/equip state and entity flags, applies animation radius. |
| 0x00D3FD90 | 302 | LoadCharacterSprite | Loads character body/weapon sprites with GM detection; branches on IsYellow/IsSpecialKoreaGM flags and gender to select sprite resource paths. |
| 0x00D3FEC0 | 59 | C3dActorPC__LoadCharSpriteFromCtor | Loads character sprites for all 24 equipment slots (0xd8/0x18) from actor PC constructor data into sprite system. |
| 0x00D3FF00 | 690 | C3dActorPC__UpdateRobeSprite | Updates PC robe sprite by calling Lua script method to check helm-robe compatibility and reloading body sprite if enabled. |
| 0x00D401D0 | 443 | C3dActor__SetHeadgearSprite | Loads and assigns headgear sprite resource to actor, handling Yellow/GM special cases and managing resource references. |
| 0x00D403A0 | 3500 | CGameMode__LoadActorSprite | Loads actor body and head sprites based on job class, sex, costume ID, and GM status flags. |
| 0x00D41280 | 25 | C3dActorPC__SetPositionXY | Sets X and Y position coordinates for a 3D player actor at offsets 0x438 and 0x43c. |
| 0x00D412A0 | 951 | C3dActor__SetWeaponSprite | Loads weapon and shield sprite resources for a 3D actor based on job class and item IDs, applying Yellow/GM glow effects. |
| 0x00D41790 | 1592 | C3dActorPC__SetMotionState_2D | Sets PC actor motion state based on action type (idle, walk, attack, skill) with job-specific validation and animation handling. |
| 0x00D41DF0 | 2097 | C3dActorPC__SetMotionState_3D | Sets 3D actor motion state for player characters, handles sprite loading, palette updates, and processes entity actions based on motion type. |
| 0x00D42790 | 203 | CGameMode__RemapActionByJob | Remaps action/motion IDs based on character job class; converts weapon type 5→10 for mages, adjusts combat animations 6/7/8→2 for specific jobs. |
| 0x00D42990 | 230 | C3dActorPC__ToggleSitStand | Toggles player sit/stand state by queuing action (0x32=sit, 0x35=stand) if not already in motion/sitting/standing. |
| 0x00D42AA0 | 82 | InitializeBufferWithValueOrZero | Initializes a buffer: zeros param_2 ints if param_3 is null, else copies param_3 value param_2 times. |
| 0x00D42B00 | 82 | C3dActorComplex__InitBufferB | Initializes a buffer of integers: zeros it if param_3 is null, otherwise copies param_3 value param_2 times. |
| 0x00D42BE0 | 91 | C3dActorPC__CreateLocalPlayer | Constructs and initializes a local player character actor, setting up the C3dActorPC vtable and calling initialization logic. |
| 0x00D42C40 | 71 | C3dActorPC__DestroyComplex | Destructor for C3dActorPC that calls parent C3dActorComplex destructor with stack guard cookie validation |
| 0x00D42C90 | 96 | C3dActorPC__ScalarDeletingDestructor | Scalar deleting destructor for C3dActorPC; calls base destructor and conditionally frees object memory |
| 0x00D42D00 | 47 | angle_to_direction_index | Converts float angle in degrees to 8-directional index (0-7) with 45-degree sectors, used for sprite direction mapping. |
| 0x00D42D30 | 130 | C3dActorPC__UpdateMouseTarget | Validates mouse target within range by comparing 3D distance to param_3 threshold with tolerance offset. |
| 0x00D42DD0 | 949 | C3dActorPC__InitializeLocalPlayer | Initializes local player actor with position, gender, job class, status effects, and visual effects on login. |
| 0x00D43190 | 499 | C3dActorPC__UpdateLocalPlayer | Updates local player state including sprite flags, nameplates, color adjustments, movement timing, sound effects, and sit/stand toggle. |
| 0x00D43400 | 3114 | CGameMode__ProcessMouseAction | Processes mouse actions on game map; routes to movement/attack/skill packets based on action type and job class |
| 0x00D440B0 | 417 | C3dActorPC__ApplyDirectionalMovement | Maps directional input angle to movement vector deltas across 8 cardinal/diagonal directions for PC actor movement. |
| 0x00D44260 | 143 | CGameMode__CalculateMouseTargetDelay | Calculates delay/cooldown for mouse targeting based on game state and input timing threshold. |
| 0x00D442F0 | 10772 | CGameMode__ProcessStatusEffects | CGameMode::ProcessStatusEffects - Massive status effect handler. Iterates through a queue at DAT_0136E6C8 and dispatches effect IDs to their handlers. Covers blindness (plays _blind.wav), poison, curse, silence, freeze, stun, stone, manhole, and many skill effects. Creates/destroys UI elements via FUN_00c44540, plays sound effects via FUN_00600770, and manages visual status overlays. Handles 4th job class effects (0x4B5-0x4E2+). |
| 0x00D47F60 | 232 | C3dActorPC__ChangeMotionState | Changes PC motion state with deferred movement dispatch (0x5b action), handles UI updates for state 3, calls SetMotionState_3D |
| 0x00D4FE20 | 96 | CItemOwner__CopyItemToStorage_A | Copies an item to storage by assigning item data and invoking vending item copy assignment with SEH frame setup. |
| 0x00D4FE80 | 96 | CItemOwner__CopyItemToStorage_B | Copies item data from param_2 to param_1 and calls CVendingItem copy assignment for vending storage. |
| 0x00D50070 | 40 | CGameMode__InitDoubleLinkedListHead | Initializes a doubly-linked list node (intrusive list) with self-pointers for empty list sentinel/head. |
| 0x00D500A0 | 105 | CGameMode__InitializeTreeNode | Allocates and initializes a binary tree node (24 bytes) with self-pointers and flags (0x101). |
| 0x00D50200 | 105 | CGameMode__AllocateTreeB | Initializes a doubly-linked list node (0x3c bytes) with circular self-pointers and magic value 0x101 for tree structure |
| 0x00D504B0 | 5474 | CGameMode__Constructor | CGameMode::Constructor - Main constructor for CGameMode object (~0x8120 bytes). Initializes linked lists, trees, vectors, and XML documents. Creates manager singletons: CUserHotkeyMgr, CBarterMarketItemMgr, CBarterMarketItem2Mgr, CPetEvolutionMgr, CAchievementMgr. Sets up 6 arrays of 10 elements each (0xF8 bytes per element) for sprite data. Initializes string buffers, prohibition log storage, and chat command storage. Returns this pointer. |
| 0x00D53420 | 615 | CItemOwner__Destructor | Destructor for CItemOwner class; cleans up Lua state, inventory maps, equipment slots, and STL containers. |
| 0x00D54090 | 68 | CItemOwner__ScalarDeletingDestructor | Scalar deleting destructor for CItemOwner class; clears and frees STL vector with stack unwinding protection. |
| 0x00D540E0 | 86 | CItemOwner__DestroyVectorAndString | Destructor cleanup routine that deallocates an integer vector and destroys a string member of CItemOwner class. |
| 0x00D54140 | 83 | XMLNode__Destructor_Impl | Destructor implementation that cleans up XMLNode data and performs stack frame teardown with XOR canary validation. |
| 0x00D541A0 | 130 | CItemOwner__CopyItemInfo | Deep copies item information struct including std::string members; handles SSO optimization for heap-allocated strings. |
| 0x00D54550 | 360 | CItemOwner__GetEquipSlotIndices | Converts equip position bitmask to slot indices array, returns result struct with up to 3 slot IDs or -1 for unused. |
| 0x00D547A0 | 287 | CItemOwner__EquipItem | Equips item to character slots by converting bitmask to indices, copying item data to equipment array at 0x17E0, and refreshing UI. |
| 0x00D548C0 | 121 | CItemOwner__AddToGuildStorageByName | Adds item to guild storage by matching item name; updates quantity if exists, appends if new. |
| 0x00D54940 | 273 | CItemOwner__UpdateFavoriteItem | Updates or appends favorite item in linked list (offset 0x17C4), matching by name and copying all item data fields. |
| 0x00D54A60 | 119 | CItemOwner__AddToInventoryById | Adds or stacks item to inventory by ID; returns 0 if stacked, 1 if new item added; optionally refreshes UI. |
| 0x00D54AE0 | 347 | CItemOwner__AddToFavoriteByName | Adds item to favorites list by name match; copies info if found, appends and triggers UI effect (0xA0) if not. |
| 0x00D54C40 | 162 | CItemOwner__AddToMailboxById | Adds/updates item in mailbox list by ID; returns 0 if item exists (amount updated), 1 if new item added; triggers UI refresh. |
| 0x00D54CF0 | 133 | CItemOwner__AddToCartById | Adds or updates item in cart inventory by ID; returns 0 if item exists (quantity updated), 1 if new item added; triggers cart UI refresh. |
| 0x00D54D80 | 201 | CItemOwner__AddToStorageById | Adds/updates item in storage list by ID; returns 0 if updated, 1 if new; triggers UI refresh via window pointers. |
| 0x00D54E50 | 69 | CItemOwner__AddToTradeById | Adds item to trade list by matching item ID; increments stack if found, otherwise appends new item entry. |
| 0x00D54EA0 | 69 | CItemOwner__AddToVendingById | Adds item to vending list by ID; increments quantity if exists, otherwise appends new item entry. |
| 0x00D54EF0 | 69 | CItemOwner__AddToBuyingStoreById | Adds item to buying store by matching item ID (offset 0x1728); updates quantity if found, else appends new entry |
| 0x00D54F40 | 178 | CItemOwner__EquipItemExtended | Equips item to character by copying item data to equipment array slots determined by position bitmask conversion. |
| 0x00D55100 | 15 | CItemOwner__AppendItemToList | Wrapper that appends a 100-byte item structure to an STL list container for the item owner object. |
| 0x00D55110 | 145 | CItemOwner__AddToRegularByName | Adds or updates item in regular inventory by name; creates new entry if not found, merges quantity if exists. |
| 0x00D551B0 | 121 | CItemOwner__AddToExtraByName | Searches extra item list by name; updates quantity if found, otherwise appends new item entry. |
| 0x00D55230 | 145 | CItemOwner__AddToExtraByIdOrName | Adds/updates item in extra inventory list; matches by ID or string name, increments quantity if found, else appends new entry. |
| 0x00D552D0 | 214 | CItemOwner__AddToGuildStorageByIdCapped | Adds item to guild storage with capacity validation; updates qty if found, inserts if new and within cap limit. |
| 0x00D553B0 | 440 | CItemOwner__AddItemWithLookup | Adds item to inventory with lookup; creates new item or updates existing stack via table conversion. |
| 0x00D55570 | 79 | CItemOwner__AddToRegularById | Adds/updates item in regular inventory by ID; keeps unlimited (-1) amounts, otherwise accumulates quantity. |
| 0x00D555C0 | 167 | CItemOwner__AddToSpecialById | Adds item to special inventory list by ID, updates quantity if exists, triggers UI refresh (opcode 0x17), returns 0 if found or 1 if new. |
| 0x00D55670 | 228 | CItemOwner__AddToEquipSlotArray1 | Adds/updates item in equipment slot array (10 slots × 0xF8 stride). Matches by item ID, updates quantity or finds empty slot. Triggers UI refresh. |
| 0x00D55760 | 228 | CItemOwner__AddToEquipSlotArray2 | Adds/updates item in equipment slot array (10 slots, 0xF8 stride), triggers UI window 0x271B refresh. |
| 0x00D55850 | 307 | CItemOwner__ConvertEquipPositionBitmask | Converts RO equipment position bitmasks (head/body/hand/foot slots) to internal slot indices via GetEquipSlotIndices. |
| 0x00D55A40 | 43 | CItemOwner__SetFavoriteItemGrade | Searches favorite items list by ID and updates the grade field at offset 0x54 of matching item node. |
| 0x00D55A70 | 53 | CItemOwner__SetFavoriteItemOptions | Searches favorite item list by ID and updates two option fields (offset 0x50 and 0x52) for matching item. |
| 0x00D55AB0 | 43 | CItemOwner__SetFavoriteItemType | Searches favorite items list by ID and sets type field at offset 0x44 (0x11 * 4 bytes) for matching entry. |
| 0x00D55AE0 | 81 | CItemOwner__InitializeRandomization | Initializes RNG state for item randomization; clears flag and seeds random number generator on first invocation. |
| 0x00D55DC0 | 177 | CItemOwner__ClearItemSlotLists | Clears 11 linked-list item slot lists in CItemOwner, destroys string data, and frees 0x100-byte nodes. |
| 0x00D55E90 | 197 | CItemOwner__RemoveNonEquipItems | Removes non-equippable items (types 0-3,6-7,10+) from inventory list at offset 0x16F0, frees nodes, refreshes UI. |
| 0x00D55F80 | 84 | CItemOwner__ClearThreeItemLists | Clears three item container lists (extra, guild storage, regular inventory) by erasing all nodes from each STL list. |
| 0x00D55FE0 | 11 | CItemOwner__ClearFlag0x40 | Clears bit 6 (0x40) from item owner flag field via bitwise AND with 0xFFFFFFBF mask. |
| 0x00D55FF0 | 171 | CItemOwner__InitEquipSlots | Initializes 10 equipment slots, creates equipment UI window (0x1B4 bytes), clears enchant effects and refreshes UI state. |
| 0x00D560A0 | 195 | CItemOwner__RemoveEquipTypeItems | Removes equipment items (types 4-5, 8-9, 11-15) from CItemOwner inventory at offset 0x16F0, frees nodes, and refreshes UI. |
| 0x00D56190 | 111 | CItemOwner__ClearEquipSlotArray1 | Clears equipment slot array by zeroing count at 0x51F0 and 10 item slots (stride 0xF8) starting at 0x3EA0 |
| 0x00D56200 | 32 | CItemOwner__ClearGuildStorageList | Clears the guild storage item list container at offset 0x1708 in CItemOwner object |
| 0x00D56220 | 144 | CItemOwner__ClearFavoriteFirstNode | Removes and deallocates the first node from a favorites list (offset 0x17C4), destructing two strings and freeing 0x58 bytes. |
| 0x00D562D0 | 42 | CItemOwner__ClearMainInventoryList | Clears the main inventory list from CItemOwner and refreshes equipment UI windows to reflect changes. |
| 0x00D56300 | 60 | CItemOwner__ClearVendingAndBuyingLists | Clears both vending and buying store item lists from CItemOwner by erasing STL list nodes at offsets 0x1740 and 0x1728. |
| 0x00D56340 | 32 | CItemOwner__ClearMailboxList | Clears the mailbox item list by erasing all nodes from the STL list at offset 0x1748 in CItemOwner. |
| 0x00D56360 | 32 | CItemOwner__ClearCartList | Clears cart item list by erasing all nodes from STL list container at offset 0x1720 in CItemOwner object. |
| 0x00D56380 | 32 | CItemOwner__ClearStorageList | Clears the storage item list by erasing all nodes from the linked list at offset 0x1730 in CItemOwner. |
| 0x00D563A0 | 32 | CItemOwner__ClearTradeList | Clears the trade list container at offset 0x1738 by erasing all nodes from a linked list structure. |
| 0x00D563C0 | 32 | CItemOwner__ClearVendingList | Clears the vending item list (offset 0x1740) by erasing all STL list nodes for a CItemOwner instance. |
| 0x00D563E0 | 32 | CItemOwner__ClearBuyingStoreList | Clears the buying store item list (offset 0x1728) by erasing all nodes from the STL list container. |
| 0x00D56400 | 71 | CItemOwner__ClearShortcutList | Clears doubly-linked shortcut list by deallocating single node, resetting pointers, and zeroing item count. |
| 0x00D56460 | 46 | CItemOwner__ClearItemSlotList | Clears all items in a specific equipment/inventory slot list by index (0-10) using STL list erasure. |
| 0x00D56490 | 111 | CItemOwner__ClearEquipSlotArray2 | Clears 10 equipment slots (stride 0xF8) and resets equip state flag at offset 0x51F4 in CItemOwner. |
| 0x00D56500 | 37 | CItemOwner__ClearAllItems | Loops 10 times calling CItemTable__ClearItemString to clear all equipped item data slots. |
| 0x00D56530 | 199 | CItemOwner__ClearFavoritesList | Clears favorite items list, dismisses active UI elements via packet 0x6D/0xA0, resets counters and associated string data. |
| 0x00D56600 | 1 | CEntity__clear_status_fields | Clears entity status fields at offsets 0x164c-0x1660 (6 dwords) |
| 0x00D56640 | 32 | CItemOwner__ClearExtraList | Clears the extra item list container at offset 0x1700 in CItemOwner using STL list node erasure. |
| 0x00D56660 | 32 | CItemOwner__ClearGuildStorageList2 | Erases all nodes from the second guild storage list container at offset 0x1710 in CItemOwner object. |
| 0x00D56680 | 32 | CItemOwner__ClearRegularList | Clears the regular inventory list (offset 0x16F8) by erasing all nodes from an STL linked list structure. |
| 0x00D566A0 | 30 | SetDefaultItemNameToNothing | Assigns the string literal "nothing" to a std::string object, likely initializing an item's default name field. |
| 0x00D566D0 | 32 | CItemOwner__ClearSpecialList | Clears the special items list (offset 0x1718) in CItemOwner by erasing all STL list nodes. |
| 0x00D566F0 | 232 | CItemOwner__CopyCartToStorageList | Clears storage list and copies all cart items into it, allocating 0x100-byte nodes per item via operator_new. |
| 0x00D567E0 | 232 | CItemOwner__CopyVendingToSlotList | Clears slot list at offset 0x1750 and copies all vending items from list at 0x1740, allocating 0x100-byte nodes per item. |
| 0x00D568D0 | 792 | CItemOwner__FindOrCreateStorageItem | Searches storage item list (offset 0x1730) for matching item by name/cards/options; returns existing or creates new item entry. |
| 0x00D56BF0 | 594 | CItemOwner__FuzzyNameCompare | Fuzzy string comparison for item names allowing up to 2 edits, treats I/l as equivalent chars |
| 0x00D576F0 | 103 | CItemOwner__MapItemTypeToCategory | Maps item type codes (1-6) to display category IDs (2-7), initializing only when category is unset (0). |
| 0x00D57780 | 513 | InitGameSubsystems | Initializes game subsystems: loads Lua configs (ItemInfo, SpecialPopup, RuneSystem, TipBox), creates managers (Emotion, SimpleMsg, ItemCatalog, OptionConfig), seeds RNG, and loads UI resources. |
| 0x00D57990 | 159 | CItemOwner__RemoveFromTradeByName | Removes item from trade list by matching item name; decrements quantity and deletes node if amount reaches zero. |
| 0x00D57A30 | 133 | CItemOwner__RemoveFromInventoryById | Removes item quantity from inventory by ID; deletes node if empty, clears equipped flag, refreshes UI. |
| 0x00D57AC0 | 225 | CItemOwner__RemoveFromMailboxById | Removes item from mailbox by ID; decreases amount or removes node; refreshes mail/auction UI; returns success status. |
| 0x00D57BB0 | 171 | CItemOwner__RemoveFromCartById | Removes item from cart inventory (0x1720) by ID, decrements quantity, deletes node if empty, clears equipped flag, triggers UI refresh. |
| 0x00D57C60 | 351 | CItemOwner__RemoveFromStorageById | Removes item from storage list by ID, decrements quantity or unlinks/frees node, triggers UI refresh. |
| 0x00D57DD0 | 109 | CItemOwner__RemoveFromTradeById | Removes item from trade list by ID, updates quantity, deletes node if amount reaches zero. |
| 0x00D57E40 | 79 | CItemOwner__RemoveFromVendingById | Removes item from vending list by ID, decrements quantity, deletes node if amount reaches zero. |
| 0x00D57E90 | 79 | CItemOwner__RemoveFromBuyingStoreById | Decrements buying store item quantity by ID; removes entry when quantity reaches zero via status field update. |
| 0x00D57EE0 | 139 | CItemOwner__RemoveFromRegularByName | Removes item from regular inventory by matching item name ID; decrements stack or deletes node if depleted. |
| 0x00D57F70 | 85 | CItemOwner__RemoveFromRegularById | Removes an item from regular inventory by ID, decreasing quantity and deleting node if depleted. |
| 0x00D57FD0 | 127 | CItemOwner__RemoveFromExtraByName | Removes item from CItemOwner's extra inventory list by name comparison, decrements quantity, deletes node if count reaches zero. |
| 0x00D58050 | 264 | CItemOwner__RemoveFromExtraByIdOrName | Removes item from extra inventory list by ID or name; decrements amount and deletes node if quantity reaches zero. |
| 0x00D58160 | 79 | CItemOwner__RemoveFromGuildStorageById | Removes item from guild storage by ID, decrements stack quantity, deletes node if quantity drops below 1. |
| 0x00D581B0 | 79 | CItemOwner__RemoveFromInventoryById2 | Removes item from inventory by ID, decrements quantity, deletes node if amount reaches zero. |
| 0x00D58200 | 171 | CItemOwner__DecreaseSpecialItemQuantity | Decreases quantity of special inventory item by ID; removes entry if quantity reaches 0, clears equipped flag, triggers UI refresh. |
| 0x00D589F0 | 108 | CItemOwner__NormalizeAndValidateNumericString | Validates numeric string (digits/spaces only), removes commas by left-shifting chars, returns 1 if valid else 0. |
| 0x00D58A60 | 61 | CItemOwner__RemoveFavoriteItemById | Searches favorite items list at offset 0x17C4, finds item matching ID param_2, removes it via entity cleanup call, returns success flag. |
| 0x00D58AA0 | 208 | CItemOwner__RemoveFavoriteByName | Removes favorite item by name from list at offset 0x17BC, sends UI dismiss message (0x6D, 0xA0) before removal. |
| 0x00D58CF0 | 199 | set_global_string_lazy | Lazily initializes a global std::string with thread-safe synchronization, assigns character name string via range assignment. |
| 0x00D58F80 | 104 | CItemOwner__GetJobNameWrapped | Wrapper that retrieves a job name string by calling CJobNameResolver with mode=0 for normal job name resolution. |
| 0x00D58FF0 | 104 | CItemOwner__GetJobNameAlt | Wrapper that retrieves alternate job name by calling CJobNameResolver with mode=1 parameter for job name lookup. |
| 0x00D59550 | 69 | CItemOwner__LookupMapValue1 | Searches RB-tree map for item slot by ID, returns value or -1 if not found or at sentinel. |
| 0x00D595A0 | 69 | CItemOwner__LookupMapValue2 | Looks up item value in RB-tree map by key; returns item data offset 0x14 or -1 if not found/invalid. |
| 0x00D595F0 | 29 | CItemOwner__GetRandomValue | Generates random value for item properties; calls rand() regardless of type parameter despite conditional checks. |
| 0x00D596D0 | 108 | CItemOwner__GetJobNameWithGender | Wrapper that delegates job name resolution with gender to CJobNameResolver, managing SEH frame setup/teardown. |
| 0x00D59740 | 114 | CItemOwner__GetOwnJobName | Retrieves job name for character by reading job ID, class, and sex from object offsets, delegates to CJobNameResolver. |
| 0x00D597C0 | 105 | CItemOwner__GetJobNameEx | Wrapper that delegates 6-parameter job name lookup to CJobNameResolver, with SEH frame setup and returns first parameter. |
| 0x00D59830 | 486 | CItemOwner__GetEquippedItemByPosition | Retrieves equipped item data by equipment position bitmask, mapping RO equip slots to memory offsets in CItemOwner structure. |
| 0x00D59A80 | 135 | CItemOwner__FindEquipSlotById | Searches 10 equipment slots by item ID; returns slot index via param_4 or initializes item string buffer if not found. |
| 0x00D59B10 | 121 | CItemOwner__GetSystemTimestamp | Generates a pseudo-random timestamp seed from system time components for item mechanics, combining date/time with year/month offsets. |
| 0x00D59B90 | 175 | CItemOwner__GetEquippedItemBySlot | Retrieves equipped item data by slot index; slot 0xF performs ID-based lookup, slots 0-9 access equipment array at offset 0x17D0. |
| 0x00D59C40 | 135 | CItemOwner__FindEquipSlotByItemUniqueId | Searches 10 equipment slots for matching item unique ID; returns slot index via param_4, initializes item buffer if not found. |
| 0x00D59CD0 | 100 | CItemOwner__GetEquipSlotArray1Item | Retrieves equipped item from slot array 1 at given index; copies item data via CVendingItem assignment at offset 0x3E90 + (index * 0xF8). |
| 0x00D59DD0 | 151 | CItemOwner__GetGuildStorageItemByIndex | Retrieves guild storage item at specified index by traversing linked list; returns empty item if index invalid or list empty. |
| 0x00D59E70 | 239 | CItemOwner__SetItemTypeString | Assigns a null-terminated string to an item type field with thread-safe initialization and XOR canary protection. |
| 0x00D5A0D0 | 231 | CItemOwner__GetFavoriteItemAtIndex | Retrieves favorite item at specified index from linked list at offset 0x17C4, returns default-initialized item if not found. |
| 0x00D5A1C0 | 36 | CItemOwner__GetViewIdForItem | Maps item IDs (≥10000) to view/sprite IDs via lookup table; returns 0 for invalid item IDs. |
| 0x00D5A1F0 | 101 | CItemOwner__GetJobNameByClassGender | Wrapper that retrieves job name by character class and gender with mode 0, delegating to CJobNameResolver. |
| 0x00D5A260 | 125 | CItemOwner__GetOwnJobNameBySex | Retrieves the current character's localized job name based on their class ID and sex, storing result in output buffer. |
| 0x00D5A2E0 | 105 | CItemOwner__GetEquipDataBySlot | Maps equipment slot IDs to normalized equipment indices (1-6) for item owner equipment data retrieval. |
| 0x00D5A390 | 102 | CItemOwner__GetSpritePath | Wrapper that calls CResourceMgr::GetSpritePath and returns the sprite path pointer for an item owner. |
| 0x00D5A400 | 114 | CItemOwner__GetSpritePathByMode | Retrieves sprite path for item by mode; wraps CResourceMgr__GetSpritePath with item owner's mode and visual parameters. |
| 0x00D5A480 | 101 | CItemOwner__GetJobName | Wrapper that retrieves job name for an item owner by delegating to CJobNameResolver with gender parameter 1 |
| 0x00D5A4F0 | 125 | CItemOwner__GetJobNameByMode | Retrieves job name for an item owner by resolving class ID and gender through CJobNameResolver |
| 0x00D5A570 | 36 | CItemOwner__GetEquipSlotValue8000 | Retrieves equipment slot value from array at offset 0x6fc, with param_2 adjusted by -8000 as array index offset. |
| 0x00D5A5A0 | 105 | CJobNameResolver__ConvertAndAssign | Copies a job name string from a job name table at index param_3 into a std::string output parameter. |
| 0x00D5A630 | 102 | CItemOwner__GetJobSpriteName | Wrapper that calls CJobNameResolver to get job sprite name with gender, returns the result in param_1 |
| 0x00D5A6A0 | 114 | CItemOwner__GetJobSpriteNameByMode | Wrapper that retrieves job sprite name by delegating to CJobNameResolver with gender and mode parameters from item owner. |
| 0x00D5A720 | 56 | CItemOwner__GetResourceSpriteId | Retrieves item sprite resource ID by item ID, selecting between two sprite types based on param_3 flag, then formats result as JSON. |
| 0x00D5A760 | 55 | CItemOwner__GetItemSlotCount | Returns item slot count from item table, or error code (-1/-256) if item invalid/equipped. |
| 0x00D5A7A0 | 245 | CVendingWnd__FindItemPriceMatch | Searches vending window inventory for item matching given price, returns 1 if found, 0xffff if not found. |
| 0x00D5A8A0 | 216 | CItemOwner__ParseAndCollectSlotIds | Collects item slot IDs from owner's inventory matching criteria (item ID, optional equip filter) into vector. |
| 0x00D5A980 | 190 | CItemOwner__FindItemById | Searches item list by ID, optionally filtering by vendor status; returns item copy or initializes string buffer if not found. |
| 0x00D5AA40 | 353 | CItemOwner__FindItemByIndex | Searches CItemOwner's red-black tree for item by index, returns CVendingItem copy via copy_assign. |
| 0x00D5ABB0 | 246 | CItemOwner__FindItemWithDisplayName | Searches CItemOwner's item list for an item matching a display name, returns item on match or initializes string buffer |
| 0x00D5ACB0 | 151 | CItemOwner__FindItemByIndex_v2 | Retrieves item from owner's inventory by index; initializes item string buffer if inventory uninitialized. |
| 0x00D5AD50 | 18 | CItemOwner__FindItemNodeByIdAndFlag | Searches item linked list for node matching item ID and flag, returns pointer to item data structure. |
| 0x00D5AD62 | 78 | CItemOwner__ParseItemIdFromString | Searches item list for matching item ID, returns pointer to item data if found with optional name filter. |
| 0x00D5ADB0 | 62 | CItemOwner__GetItemCountBySlot | Searches item linked list by slot ID; returns pointer to item count field or NULL if not found |
| 0x00D5ADF0 | 95 | CItemOwner__GetItemIdFromAtoi | Searches item list for entry matching ID and optional flag, returns pointer to item data or null. |
| 0x00D5AE50 | 229 | CItemOwner__GetItemNameByIndex | Retrieves item name string by index, searching equipped items or item database with bounds checking. |
| 0x00D5AF40 | 74 | CItemOwner__GetItemAmountByAtoi | Iterates item list, converts item names to integers via atoi, sums quantities of matching items by numeric ID. |
| 0x00D5AF90 | 41 | get_item_field_by_id | Converts string item ID to integer, looks up item data, returns offset+8 or offset+0x1c field based on param_2 flag. |
| 0x00D5B270 | 771 | load_skill_effect_resource | Loads skill effect resource by appending path prefix to filename and finding/initializing resource via ResourceManager |
| 0x00D5B580 | 850 | CMode__GetJobClassID | Maps job class IDs to transcendence/rebirth variants based on bit flags in a global configuration. |
| 0x00D5B8E0 | 104 | CItemOwner__GetJobSpriteNameEx | Wrapper that delegates job sprite name resolution to CJobNameResolver, managing SEH frame for exception handling. |
| 0x00D5B950 | 366 | CItemOwner__GetItemNameByID | Retrieves item name string pointer by item ID from CItemOwner's item name tables, handling both normal and extended item ranges. |
| 0x00D5BB40 | 231 | CMode__GetJobSpriteIndex | Retrieves sprite index for a job class, with sex-based and status-based lookup fallbacks for character rendering. |
| 0x00D5BC30 | 104 | CItemOwner__GetJobSpriteNameExB | Wrapper that calls CJobNameResolver::GetJobSprNameEx with job ID 1, returns resolved sprite name for item owner |
| 0x00D5BCA0 | 76 | CItemOwner__FindEffectItemNode | Locates an effect item node in a map by item ID, returning pointer offset or null if not found. |
| 0x00D5BCF0 | 100 | CItemOwner__SetCharacterName | Assigns a character name string to a CItemOwner object by copying input parameter to internal string storage. |
| 0x00D5BD80 | 94 | CItemOwner__CompareMapName | Searches linked list of map entries for matching map name, returns associated item ID or 0 if not found. |
| 0x00D5BDE0 | 36 | CItemOwner__GetEquipSlotValue2008 | Retrieves equipment item value from slot array, validating slot index is >= 0x2008 with bounds checking. |
| 0x00D5BE10 | 134 | CItemOwner__CopyItemData_A | Searches item list at offset 0x1748 for item matching param_3 ID, copies data via CVendingItem__copy_assign if found. |
| 0x00D5BEA0 | 151 | CItemOwner__CopyItemData_B | Copies item data from a linked list of vending items at specified index, initializing item string buffer if needed. |
| 0x00D5BF40 | 42 | CItemOwner__FindListNodeValueById_1748 | Traverses linked list from offset 0x1748 to find node where offset+12 matches param_2, returns value at offset+24 |
| 0x00D5BF70 | 134 | CItemOwner__CopyItemData_C | Searches linked list of items in CItemOwner for matching item ID, copies item data via CVendingItem assignment if found. |
| 0x00D5C000 | 151 | CItemOwner__CopyItemData_D | Copies item data at specified index from linked list; initializes string buffer if list is empty. |
| 0x00D5C0A0 | 42 | CItemOwner__FindListNodeValueById_1720 | Searches linked list at offset 0x1720 for node with ID at offset +12, returns value at offset +24 |
| 0x00D5C0D0 | 134 | CItemOwner__CopyItemData_E | Searches item list at offset 0x1730 for item matching param_3 ID, copies vendor item data if found, else initializes buffer. |
| 0x00D5C160 | 151 | CItemOwner__CopyItemData_F | Copies item data from a vending/inventory list at specified index, initializing string buffer if needed. |
| 0x00D5C200 | 42 | CItemOwner__FindListNodeValueById_vending | Traverses vending item linked list to find node by item ID, returns item data at offset +24 bytes |
| 0x00D5C230 | 132 | CItemOwner__CopyItemData_G | Searches item linked list by ID, copies vending item data if found, clears table on list end. |
| 0x00D5C2C0 | 159 | CItemOwner__CopyItemData_H | Searches item list by ID and copies vending item data; clears table if not found. |
| 0x00D5C360 | 151 | CItemOwner__CopyItemData_I | Copies item data from a linked list at specified index; initializes item string buffer if list is empty. |
| 0x00D5C400 | 42 | linked_list_find_value_by_key | Traverses linked list from head, returns value (offset +24) of node matching key at offset +12 |
| 0x00D5C430 | 134 | CItemOwner__CopyItemData_J | Searches item list at offset 0x1740 for item ID param_3, copies vending data if found, initializes buffer on exit. |
| 0x00D5C4C0 | 184 | CItemOwner__CopyItemDataExt_A | Iterates through CItemOwner's item list to find and copy an item by string name match. |
| 0x00D5C580 | 134 | CItemOwner__CopyItemData_K | Iterates through linked item list to find and copy item data at specified index param_3, initializing string buffer on completion. |
| 0x00D5C610 | 94 | CItemOwner__FindItemByName | Searches linked list of items for matching name string, returns item data field at offset 0x18 |
| 0x00D5C670 | 42 | CItemOwner__FindListNodeValueById_vendingB | Traverses vending shop item list by ID, returns item data at offset +24 bytes or null if not found |
| 0x00D5C6A0 | 134 | CItemOwner__CopyItemData_L | Searches item list at offset 0x1750 for item matching param_3, copies data if found, initializes buffer if list empty. |
| 0x00D5C730 | 73 | CItemOwner__GetItemWeight | Iterates doubly-linked item list, multiplying quantity by weight per item, summing total inventory weight. |
| 0x00D5C780 | 151 | CItemOwner__CopyItemData_M | Copies item data from a vending/storage list at specified index, initializing string buffer if needed. |
| 0x00D5C820 | 42 | find_linked_list_entry_by_id | Traverses a circular linked list starting at offset 0x1728, searches for node with ID at offset +12, returns data at offset +24. |
| 0x00D5C850 | 66 | CItemOwner__GetItemById | Searches linked list of items by ID (param_3), returns item data struct or zeros output if not found. |
| 0x00D5C8A0 | 115 | CItemOwner__GetItemProperty | Calculates string length by scanning for null terminator, then assigns C-string to std::string object via range assignment. |
| 0x00D5CAC0 | 102 | CItemOwner__FindItemByID_N | Searches a linked list of items in a container slot for an item matching the given ID parameter. |
| 0x00D5CB30 | 166 | CItemOwner__CopyItemDataExt_B | Copies item data from a vending list by index; validates slot bounds and initializes string buffer on failure. |
| 0x00D5CBE0 | 115 | CItemOwner__ClearItemPropertyExt | Clears/resets item property extension string by assigning empty range to member at offset 0x15ec. |
| 0x00D5CD30 | 209 | CItemOwner__BinarySearchItemType | Binary searches a sorted array of item type pairs for a matching entry, returns associated value or 3 if not found. |
| 0x00D5CE20 | 7 | CItemOwner__GetRefineLevel | Retrieves the refine level of an item from CItemOwner struct at offset 0x17c8 |
| 0x00D5CE30 | 7 | CItemOwner__GetItemCount | Returns the item count value stored at offset 0x16f4 in the CItemOwner object structure. |
| 0x00D5CE40 | 7 | CItemOwner__GetCartWeight | Returns the cart weight value from CItemOwner instance at offset 0x174c |
| 0x00D5CE50 | 7 | CItemOwner__GetCartInventory | Retrieves pointer to cart inventory data structure at offset 0x1724 from CItemOwner instance |
| 0x00D5CE60 | 7 | CItemOwner__GetField1734 | Retrieves pointer to cart inventory data structure at offset 0x1734 in CItemOwner instance |
| 0x00D5CE70 | 7 | CItemOwner__GetItemListCount | Retrieves item count/list size from CItemOwner object at offset 0x173c |
| 0x00D5CE80 | 7 | CItemOwner__GetField1744 | Retrieves pointer to cart inventory data structure at offset 0x1744 within CItemOwner instance |
| 0x00D5CE90 | 7 | CItemOwner__GetField172c | Returns pointer to cart inventory data structure at offset 0x172c in CItemOwner instance |
| 0x00D5CEA0 | 32 | CItemOwner__GetSlotSettingValue | Retrieves slot setting value from CItemOwner object at index param_2 (0-10), returns 0 if out of bounds. |
| 0x00D5CF50 | 7 | CItemOwner__GetField17c0 | Accessor retrieving 4-byte field at offset 0x17c0 from CItemOwner instance |
| 0x00D5CF60 | 7 | CItemOwner__GetField1704 | Retrieves item count/quantity field from CItemOwner object at offset 0x1704 |
| 0x00D5CF70 | 7 | CItemOwner__GetCartItems | Retrieves pointer to cart inventory items array from CItemOwner instance at offset 0x1714 |
| 0x00D5CF80 | 7 | CItemOwner__GetField16fc | Returns pointer to cart inventory data structure at offset 0x16fc within CItemOwner instance |
| 0x00D5CF90 | 7 | CItemOwner__GetItemListOffset | Returns pointer to item list or inventory data structure at fixed offset 0x171c within CItemOwner instance |
| 0x00D5CFA0 | 38 | CItemOwner__CountOccupiedMailSlots | Counts non-empty mail slots by iterating linked list at offset 0x17bc, incrementing counter only when slot data at +0x12 is non-null. |
| 0x00D5CFD0 | 100 | CItemOwner__GetItemByIndex | Retrieves item from inventory by index; copies item data using CVendingItem__copy_assign with offset calculation. |
| 0x00D5D040 | 138 | CItemOwner__GetItemFieldByType | Retrieves item field data by type; initializes string buffer for type 0xf, copies vending item data for types <10 |
| 0x00D5D0D0 | 191 | CGameMode__GetJobAttackDelay | Returns weapon attack delay multiplier based on job class, weapon type, and equipped item properties. |
| 0x00D5D280 | 45 | CItemOwner__FindBuyingStoreItemFlag | Searches buying store item list for matching item ID, returns item flag or zero if not found. |
| 0x00D5D2B0 | 117 | CItemOwner__GetItemFieldByType_C | Iterates through CItemOwner's item list to find and return item field matching given item ID parameter. |
| 0x00D5D330 | 45 | CItemOwner__FindBuyingStoreItemQuantity | Searches buying store item list for matching item ID, returns quantity if found, else 0. |
| 0x00D5D360 | 118 | CItemOwner__FindItemFieldByItemId | Iterates through item list searching for item matching param_2's ID, returns field value at offset 0x1d |
| 0x00D5D3E0 | 46 | CItemOwner__FindBuyingStoreItemRefine | Searches buying store items by refine level; returns item ID and refine value as packed 32-bit int |
| 0x00D5D410 | 193 | CItemOwner__CalcCartTotalWeight_Fixed | Sums item weights in cart by matching item IDs between inventory and cart, accumulating weight*quantity. |
| 0x00D5D4E0 | 121 | CItemOwner__CalculateItemFieldTotalByType | Sums item field values (offset +0x18) across all items matching a specific type from two linked lists. |
| 0x00D5D560 | 166 | CItemOwner__GetElementColor | Maps item element types (0-15) to ARGB color codes for UI display in Ragnarok Online client. |
| 0x00D5D650 | 229 | CItemOwner__FindPartyMemberByAID | Searches party member linked list at offset 0x17bc for member with matching account ID, returns initialized PartyMemberInfo or zeroed structure if not found. |
| 0x00D5D740 | 525 | CPartyManager__RemoveMemberByCharID | Removes a party member by character ID (param_3) from the party member linked list at offset 0x17bc |
| 0x00D5D960 | 283 | CItemOwner__FindPartyMemberByName | Searches party member list and returns matching PartyMemberInfo by name, or empty struct if not found |
| 0x00D5DA80 | 231 | CMode__GetPartyMemberByIndex | Retrieves party member data at specified index; returns zeroed structure if index invalid or list empty. |
| 0x00D5DB70 | 45 | find_linked_list_entry_ptr_by_id | Searches a circular doubly-linked list by ID field at offset +12, returns data pointer at offset +8 or NULL. |
| 0x00D5DBA0 | 184 | CItemOwner__CopyItemDataExt_C | Searches item list by name and copies matching item data; initializes string buffer if no match found. |
| 0x00D5DC60 | 134 | CItemOwner__CopyItemData_O | Iterates through linked item list to find and copy item data at specified index, initializing string buffer on completion. |
| 0x00D5DCF0 | 94 | CItemOwner__GetItemDataField_B | Searches linked list of items for matching name string, returns item data at offset 0x18 |
| 0x00D5DD50 | 42 | CItemOwner__FindBuyingStoreItemQuantityB | Traverses buying store item linked list; returns quantity of item matching given ID, or 0 if not found. |
| 0x00D5DD80 | 33 | CItemOwner__SumBuyingStoreTotalCost | Sums total cost of all items in buying store by multiplying quantity (offset +0x18) by unit price (offset +0x1A). |
| 0x00D5DDB0 | 167 | CItemOwner__GetRealWeaponId | Calls Lua script function "GetRealWeaponId" to retrieve actual weapon ID, returns result or param_1 if call fails |
| 0x00D5DE70 | 134 | CItemOwner__CopyItemData_P | Searches linked list at offset 0x1710 for item with matching ID param_3, copies its data via CVendingItem__copy_assign |
| 0x00D5DF00 | 151 | CItemOwner__CopyItemData_Q | Copies item data from a vending/storage list at specified index, initializing string buffer if needed. |
| 0x00D5DFA0 | 42 | CItemOwner__FindItemQuantityById | Iterates linked list to find item by ID, returns quantity value at offset +24 bytes from node |
| 0x00D5DFD0 | 24 | C3dActor__GetTimeSinceMove | Returns elapsed milliseconds since last movement by reading stored timestamp from actor object at offset 0x774. |
| 0x00D5DFF0 | 477 | CItemOwner__GetNpcLocationRadiusFromScript | Calls Lua script function "GetNpcLocationRadius" to retrieve NPC detection radius, returns float distance value. |
| 0x00D5E1D0 | 104 | CItemOwner__GetItemFieldByType_F | Wrapper that resolves job sprite name using complex parameters; sets up SEH frame and delegates to job name resolver. |
| 0x00D5E240 | 104 | CItemOwner__GetItemFieldByType_G | Wrapper that calls CJobNameResolver::GetJobSpriteNameComplex to resolve job sprite names with complex parameters. |
| 0x00D5E2B0 | 151 | CItemOwner__CopyItemData_R | Copies item data from a linked list at specified index to param_2, initializing string buffer if list is empty. |
| 0x00D5E350 | 42 | CItemOwner__FindListNodeValueById_quantityB | Searches item linked list by ID, returns quantity value at offset +24 bytes from node start. |
| 0x00D5E380 | 28 | CItemOwner__GetPartyMemberStringData | Retrieves pointer to party member string data, dereferencing if length exceeds 15 chars (small string optimization) |
| 0x00D5E3A0 | 26 | format_number_with_json | Wraps format_string_with_json_allocator to format a number using JSON allocation with hardcoded data at 0x00fe07d4. |
| 0x00D5E3C0 | 104 | CItemOwner__GetItemFieldByType_H | Retrieves item field data by item ID, checking regular inventory, storage, and pet item ranges with offset-based lookup. |
| 0x00D5E430 | 134 | CItemOwner__CopyItemData_S | Searches item list at offset 0x1718 for matching item ID (param_3), copies item data if found, initializes buffer if not. |
| 0x00D5E4C0 | 151 | CItemOwner__CopyItemData_T | Copies item data from a vending/storage list at specified index, initializing string buffer if needed. |
| 0x00D5E560 | 42 | CItemOwner__FindListNodeValueById_quantityC | Searches linked list of item nodes by ID, returns quantity value at offset +24 bytes from node start. |
| 0x00D5E590 | 200 | CItemOwner__ValidateAndCopyItemString | Validates non-null item data pointer, then copies string data via range assignment with error code output. |
| 0x00D609F0 | 239 | CGameMode__InitializeString | Initializes a string by calculating its length and assigning a range, with thread-safe initialization overhead. |
| 0x00D60C60 | 250 | CMode__SelectRandomBodySprite | Selects and returns a body sprite pointer from weapon-indexed sprite array, with job class filtering and bounds validation. |
| 0x00D60DE0 | 223 | CLua__GetItemScriptWeaponClassName | Retrieves weapon class name string from item script via Lua, copies from global weapon name table |
| 0x00D60EC0 | 75 | CItemOwner__FindMapNode | Locates and returns an item map node using lower_bound search on item ID key in CItemOwner's internal STL map structure. |
| 0x00D60F10 | 131 | CItemOwner__ClearMapEntryData | Clears a string member (offset 0x15ec) in CItemOwner by assigning empty range via std::string assignment. |
| 0x00D6102C | 194 | CDataTable__lookup_map_entry_by_key | Looks up key in STL map (0x8094 offset from data), then indexes into array by param to get a pair result. Returns {0,0} on failure. |
| 0x00D611F0 | 199 | C3dActorPC__CalcAnimatedAlpha | Calculates time-based oscillating alpha (0-255) for PC sprite animation effects using modulo timing. |
| 0x00D612C0 | 161 | CItemOwner__AnimateAlphaTransition | Validates a string for invalid control characters (0x20, 0x7f, 0x81, 0x8d, 0x8f, 0x90, 0x9d, 0xad) commonly filtered in RO. |
| 0x00D61500 | 1637 | WriteSessionRegistry | Writes Ragnarok Online client session data (executable path, system time) to Windows registry under Software\Gravity\RagnarokOnline. |
| 0x00D62570 | 364 | CGameMode__LoadMapObjLightTable | Loads mapObjLightTable.txt, parses map names with light flags, reserves 512 vector entries, sorts by map name. |
| 0x00D62960 | 1289 | CGameMode__LoadFogParameterTable | Parses fogParameterTable.txt and loads fog rendering parameters (distance, color, density) into sorted vector at offset 0x5210. |
| 0x00D62E80 | 61 | CGameMode__ResetFogConfig | Initializes/resets 6 fog-related configuration values in CGameMode object to zero. |
| 0x00D62EC0 | 73 | CGameMode__LoadAndSortIndoorRswTable | Loads indoorRswTable.txt file lines into memory and sorts the resulting data structure by string keys. |
| 0x00D62F10 | 291 | CGameMode__ClearSpritePaletteCache | Clears sprite palette cache by destructing string entries and deallocating memory from palette container. |
| 0x00D63B20 | 1114 | CGameMode__InitLuaResourceTables | Initializes Lua resource tables by allocating and populating linked list nodes with sequential IDs (0x0-0x1e, 0xfa1+). |
| 0x00D64530 | 284 | CGameMode__LoadDataTables | Initializes game client by loading CSV tables, word filter, XML files, item tables, and map name data. |
| 0x00D646C0 | 2874 | CGameMode__LoadLuaScripts | Initializes Lua VM and sequentially loads 80+ game data scripts (NPCIdentity, jobName, SkillInfo, StateIcon, ChatWnd, etc.) from Lua Files directory. |
| 0x00D65200 | 262 | CGameMode__LoadTextTable | Loads map name table from mapNameTable.txt file into memory using CTableFile with string management. |
| 0x00D65380 | 2285 | CGameMode__LoadMapPosTable | Loads and parses mapPosTable.txt to initialize map position/boundary data structure with coordinate bounds for minimap and collision detection. |
| 0x00D65E00 | 61 | CGameMode__ClearMapPosEntry | Clears 6 consecutive 4-byte fields (24 bytes total) in CGameMode object, likely map position/coordinate data storage. |
| 0x00D65E40 | 656 | LoadMiniPartyInfo | Parses savedata/MiniPartyInfo.lua to load party member UI positioning data (name, x, y coordinates). |
| 0x00D66160 | 314 | CGameMode__LoadMp3NameTable | Loads mp3NameTable.txt into vector at offset 0x5204, mapping map names to BGM filenames, then sorts by map name. |
| 0x00D662C0 | 8911 | CGameMode__InitJobSpriteNameTables | CGameMode::InitJobSpriteNameTables - Initializes sprite name lookup tables for all job classes. Maps job IDs to sprite folder names like "kagerou", "oboro", "rebellion", "summoner", and all 4th job classes (DRAGON_KNIGHT, IMPERIAL_GUARD, ARCH_MAGE, etc.) including riding/mount variants (_RIDING, _CHICKEN, WOLF_, MADOGEAR). Populates two large tables at this+0x5274 (male) and this+0xF64 (female) with ~250 entries each. Also sets up palette and head sprite tables. Ends by calling FUN_004f1940 to register "ReqAccName". |
| 0x00D6AB30 | 92 | CGameMode__ResetShadowFactorState | Resets shadow factor state by copying buffer pointer and clearing color/factor values to defaults. |
| 0x00D6AB90 | 461 | CGameMode__InitShadowFactors | Initializes shadow slot factors by invoking CLua "ReqshadowFactor" script and populating shadow factor map with validated values. |
| 0x00D6AD80 | 876 | CGameMode__InitResources | Initializes game resources by loading mp3NameTable, indoorRswTable, fog params, Lua scripts, and sprite data into memory structures. |
| 0x00D6B130 | 17383 | CGameMode__InitChatCommandTable | CGameMode::InitChatCommandTable - Initializes the slash command table for chat. Registers ~200+ commands including /help, /effect, /sound, /skip, /inall, /exall, /stand, /chat, /leave, /stat, /where, /money, /anger, emotes (/delight, /fret, /heart, /sweat), and Korean-encoded equivalents. Each command is stored as a (string, ID) pair in a vector at this+0x51F8. |
| 0x00D6F520 | 48 | CGameMode__InitRandomSqrtValue | Initializes a cached sqrt(200.0) float value at offset 0x1604 in CGameMode instance, then calls rand(). |
| 0x00D6FA30 | 1289 | CGameMode__LoadResourceFile | Loads and parses ViewPointTable.txt resource file, populates vector with viewpoint data entries parsed from comment-delimited format. |
| 0x00D6FF50 | 562 | CGameMode__InitLuaResourceCallbacks | Initializes Lua callbacks for weapon hit wave sound resources by iterating through a resource list and registering callbacks. |
| 0x00D70190 | 110 | CGameMode__InitResourceTable | Clears resource table by erasing list nodes and invoking item string cleanup routine 10 times sequentially. |
| 0x00D70220 | 691 | CGameMode__CleanupPartyMembers | Clears party member data structures and linked lists, resets party UI state variables, and removes effect displays from party members. |
| 0x00D70510 | 1971 | LoadJobNameTable | Initializes job name lookup table with 4400+ hardcoded job/class name strings (NOVICE, SWORDMAN, KNIGHT, etc.) |
| 0x00D70CD0 | 94 | CGameMode__OnResourceUpdate | Validates resource thresholds and triggers UI refresh when resource limits are exceeded during gameplay. |
| 0x00D70D30 | 44 | CGameMode__InvalidateStatusWindow | Invalidates status window UI by calling virtual method on active mode object and recursively invalidating UI components. |
| 0x00D70D60 | 54 | CGameMode__InitializeUIAndSkillTree | Initializes skill tree from Lua, sends packet 0x3c, and switches equipment preview tab in UI. |
| 0x00D70DA0 | 44 | CGameMode__InvalidateHomunculusWindow | Invalidates homunculus UI window by calling virtual method at offset 0x98, then recursively invalidates all UI components if active mode exists. |
| 0x00D70DD0 | 10 | thunk_CUIWindowMgr__InvalidateEquipWindow | Thunk wrapper that calls CUIWindowMgr::InvalidateEquipWindow() to refresh equipment window display |
| 0x00D70DE0 | 50 | string_is_valid_no_leading_or_trailing_space | Returns 1 if string is empty or has leading/trailing spaces, 0 if valid (no spaces at edges) |
| 0x00D70E20 | 265 | CChatManager__RemoveFromChatHistory | Searches chat history list for matching player name and removes the entry if found. |
| 0x00D70F50 | 78 | CGameMode__FindResourceByName | Searches a linked list of resources for a matching name using fuzzy comparison; returns 1 if found, 0 otherwise. |
| 0x00D70FA0 | 13 | entity_extract_status_flags | Extracts entity status flags by shifting right 4 bits and masking to get active status conditions. |
| 0x00D70FB0 | 21 | entity_flag_toggle_bit4 | XORs bit 4 of entity flags (param_2) into param_1, masking result to preserve upper bits while clearing bit 0. |
| 0x00D70FD0 | 12 | entity_flag_extract_bits_1_to_24 | Extracts bits 1-24 from entity flag by shifting right 1, masking 24 bits, clearing bit 0. |
| 0x00D70FE0 | 19 | entity_flag_xor_with_mask | XORs bit 1 of two entity flags and masks result to clear bits 0 and 1-8, preserving higher bits. |
| 0x00D71000 | 13 | entity_flag_extract_bits_5_to_31 | Extracts bits 5-31 from entity flags, masking out bits 0-4 and bit 32+. |
| 0x00D71010 | 21 | entity_flag_toggle_bit5 | XORs bit 5 of entity flags with corresponding bit from param_2, preserving upper bits while clearing bit 0. |
| 0x00D71030 | 13 | entity_flag_extract_high_byte | Extracts bits 23-31 from entity flags, masking with 0xffffff01 to isolate high byte. |
| 0x00D71040 | 21 | entity_flag_xor_bit23 | XORs bit 23 of a 32-bit entity flag value with another value's bit 23, preserving upper bit. |
| 0x00D71060 | 13 | entity_flag_get_upper_byte | Extracts upper byte (bits 24-31) from entity flags, masks with 0xffffff01 (clears bits 1-7). |
| 0x00D71070 | 21 | entity_flag_xor_bit24 | Extracts bit 24 from two parameters, XORs them, and returns the lowest bit of result. |
| 0x00D71090 | 13 | entity_flag_get_bits_25_31 | Extracts bits 25-31 from entity flag by right-shifting 25 bits and masking with 0xffffff01 |
| 0x00D710A0 | 21 | extract_and_xor_bit25_from_high_bytes | XORs bit 25 (bit 1 of high byte) from two 32-bit values and returns the result bit. |
| 0x00D710C0 | 13 | entity_flag_get_bits_26_31 | Extracts bits 26-31 from a 32-bit entity flag value via right shift by 26 positions. |
| 0x00D710D0 | 21 | extract_bit2_from_xored_high_bytes | XORs high bytes of two values and extracts bit 2 from result; likely compares entity flags or status bits. |
| 0x00D710F0 | 13 | entity_flag_get_bit19 | Extracts bits 19-31 from entity flags, masking with 0xffffff01 to isolate specific flag bits. |
| 0x00D71100 | 21 | entity_flag_xor_bit19 | XORs bit 19 of a 32-bit entity flag value with a source flag, preserving upper bits and clearing bit 0. |
| 0x00D71120 | 13 | entity_flag_get_bits_14_to_31 | Extracts bits 14-31 from entity flags, masking with 0xffffff01 to isolate specific flag bits. |
| 0x00D71130 | 13 | entity_flag_get_bits_27_31 | Extracts bits 27-31 from entity flags; mask 0xffffff01 appears incorrect/suspicious for bit extraction |
| 0x00D71140 | 13 | extract_entity_flags_shifted | Extracts entity flags by right-shifting 2 bits and applying bitmask 0xffffff01 to filter specific flag bits. |
| 0x00D71150 | 21 | entity_flag_toggle_motion_bit | XORs bit 2 of motion flags between two entities, preserves upper bits, clears lower bits except bit 0 |
| 0x00D71170 | 13 | entity_flag_get_bits_22_to_31 | Extracts bits 22-31 from entity flags and masks with 0xffffff01, clearing bits 1-7 of the result. |
| 0x00D71180 | 21 | entity_flag_xor_bit22 | XORs bit 22 of a 32-bit entity flag with a parameter value, preserving upper bits and clearing lower bits. |
| 0x00D711A0 | 13 | entity_flag_extract_bits_12_39 | Extracts bits 12-39 from a 32-bit flag value via right-shift and mask operation. |
| 0x00D711B0 | 12 | is_zero_check | Checks if an integer parameter equals zero, returns boolean result. |
| 0x00D711C0 | 13 | entity_flag_get_bits_28_31 | Extracts bits 28-31 from a flag value and masks with 0xffffff01 (likely unused/reserved bits). |
| 0x00D711D0 | 13 | entity_flag_extract_bits_11_to_31 | Extracts bits 11-31 from entity flag, masking with 0xffffff01 to preserve specific flag bits. |
| 0x00D711E0 | 21 | entity_flag_xor_bit11 | XORs bit 11 of a 32-bit entity flag value with another value's bit 11, clearing bit 0. |
| 0x00D71200 | 13 | entity_flag_extract_state_bits | Extracts entity state flags from bits 20-31, masking out specific control bits (0xFE). |
| 0x00D71210 | 21 | entity_flag_xor_bit20 | XORs bit 20 of entity flags with param_2's bit 20, preserving upper 4 bits and lower 8 bits. |
| 0x00D71230 | 13 | entity_extract_bits_13_31 | Extracts bits 13-31 from entity flag value, masking with 0xffffff01 pattern. |
| 0x00D71240 | 21 | entity_flag_xor_bit3 | XORs bit 13 of param_1 with bit 13 of param_2, preserves upper bits, clears lower bits except bit 0. |
| 0x00D71260 | 13 | extract_entity_flags_high_byte | Extracts bits 16-23 from entity flags, masking out bit 0 (returns high byte with LSB zeroed) |
| 0x00D71270 | 10 | extract_bool_param | Extracts the least significant bit from a byte parameter, returning 1 if odd, 0 if even. |
| 0x00D71280 | 13 | xor_lowest_bit | Returns the XOR of the lowest bit of two bytes; checks if bits differ at position 0. |
| 0x00D71290 | 13 | entity_flag_extract_bits_6_to_31 | Extracts bits 6-31 from entity flags, masking out bits 1-7 of the result (0xffffff01 mask). |
| 0x00D712A0 | 21 | entity_flag_toggle_bit6 | XORs bit 6 of entity flags with param_2's bit 6, preserving upper bits and clearing lower bits except bit 0. |
| 0x00D712C0 | 13 | entity_flag_extract_bits_15_31 | Extracts bits 15-31 from entity flags, masks with 0xffffff01 to preserve specific bit positions. |
| 0x00D712D0 | 21 | entity_flag_xor_bit15 | XORs bit 15 of a 32-bit entity flag value with another value's bit 15, preserving other bits. |
| 0x00D712F0 | 13 | entity_flag_get_status_flag | Extracts status effect flags from entity state by shifting right 18 bits and masking with 0xffffff01. |
| 0x00D71300 | 13 | entity_flag_extract_job_id | Extracts job ID (bits 17-24) from entity flags, masking with 0xffffff01 for valid job range |
| 0x00D71310 | 21 | entity_flag_xor_bit9 | XORs bit 9 of a 32-bit entity flags field while preserving bits 0-8 and 25-31. |
| 0x00D71330 | 13 | entity_flag_get_bits_21_to_31 | Extracts bits 21-31 from entity flags, masking to preserve only bits 21-24 and 26-31 |
| 0x00D71340 | 21 | entity_flag_xor_bit21 | XORs bit 21 of entity flags with param_2's bit 21, preserving other bits via mask 0xffffff01 |
| 0x00D71360 | 28 | CItemOwner__GetFirstNonEmptySettingSlot | Iterates through 11 setting slots (offset 0x1768), returns first non-empty slot index or 1 if all empty |
| 0x00D71380 | 188 | CGameMode__BinarySearchResourceData | Binary searches a sorted resource array for a string key; returns resource ID or error flag |
| 0x00D71450 | 141 | CItemOwner__AreAllCostumeSlotsFull | Checks if all 10 costume equipment slots are filled by counting non-zero slot entries. |
| 0x00D714E0 | 41 | CItemOwner__HasSkillInList0x1738 | Searches linked list at offset 0x1738 for node with field[3] matching param_2, returns true if found. |
| 0x00D71510 | 41 | CItemOwner__FindSkillInList | Searches linked list at offset 0x16f8 for node with skill ID matching param_2, returns bool |
| 0x00D71540 | 49 | CItemOwner__FindCostumeSlotById | Searches 10 costume slots in CItemOwner for matching ID; returns slot pointer if found, null if not. |
| 0x00D71590 | 85 | CItemOwner__FindItemInListByAtoiId | Searches linked list of items for entry matching numeric ID, converts string field via atoi and returns 1 if found |
| 0x00D715F0 | 96 | CItemOwner__HasItemInListByName | Searches CItemOwner's item linked list for an item matching the given name string; returns 1 if found, 0 otherwise. |
| 0x00D71650 | 348 | CItemOwner__FindAndCopyItemByName | Searches a global item list for an item matching the given name and copies it to a local list. |
| 0x00D717D0 | 246 | CItemOwner__FindItemCopyByField2 | Searches item list for node with field[2]==param_1, returns copy via exception or cleanup on failure. |
| 0x00D718F0 | 246 | CItemOwner__FindItemCopyByField3 | Copies global item list, searches for item node where field[3] matches param, returns copy or cleans up. |
| 0x00D71A10 | 5 | CItemOwner__ReturnFalse | Stub function that unconditionally returns false (0); likely a placeholder for unimplemented CItemOwner behavior. |
| 0x00D71A20 | 115 | CGameMode__GetStringLength | Calculates string length by iterating to null terminator, then assigns result to std::string object. |
| 0x00D71C50 | 42 | CItemOwner__IsAdminEquipSlot7 | Checks if account is admin and equipment slot is shadow (7), returns 1 if both true, else 0 |
| 0x00D71C80 | 84 | CItemOwner__FindInSkillList0x1720ByAtoi | Searches CItemOwner's skill list at offset 0x1720 for entry where atoi(string field) matches param_2, returns true if found |
| 0x00D71CE0 | 156 | CItemOwner__HasItemNameInVector | Searches item vector at offset 0x8074 for matching item name string, returns 1 if found else 0 |
| 0x00D71D80 | 313 | CItemOwner__IsValidEquipItemName | Validates equip item names by checking against a hardcoded token, quest items list, and substring match against a blacklist string. |
| 0x00D71EC0 | 42 | is_valid_job_id | Validates job class IDs: returns 1 if ID in ranges [0x2D-999] or [0x2711-0x4E1E], else 0. |
| 0x00D71EF0 | 55 | validate_ascii_string | Validates that all characters in a null-terminated string are ASCII (0-127); returns 1 if valid, 0 if non-ASCII bytes found. |
| 0x00D71F30 | 102 | CGameMode__ClearResourceMetadata | Clears a string field at offset 0x15ec by assigning an empty range to it via std_string__assign_range. |
| 0x00D720D0 | 38 | CItemOwner__CanShowTradeUI | Checks if trade UI can be displayed by verifying no active trades, no blocking states, and no pending operations exist. |
| 0x00D72190 | 208 | CItemOwner__IsEquipSlotAvailable | Checks if equipment slot is available for job class, considering refinement level threshold (2000). |
| 0x00D724F0 | 1053 | CItemOwner__GetEquipViewIndexByJob | Maps job class ID, equipment slot, and direction to sprite view index for rendering character equipment visuals. |
| 0x00D72D10 | 24 | is_second_costume_mode | Checks if second costume system is enabled (DAT_012515d0 != 0 && DAT_012515d4 == 2) |
| 0x00D72D30 | 659 | CItemOwner__GetEquipViewDirectionByJob | Maps job class, direction, equipment position to view direction using job-specific lookup tables for equipment rendering orientation. |
| 0x00D73220 | 226 | CItemOwner__ValidateAllSkillRequirements | Validates all skill requirements in a linked list at offset 0x1710; returns 1 if all skills meet level requirements, 0 if any unmet. |
| 0x00D73310 | 54 | is_valid_playable_job_class | Validates if job ID is playable class (0xFA1-0xFB6 range or specific 3rd job IDs 0x1016-0x106C) |
| 0x00D733B0 | 62 | is_valid_job_class_extended | Validates job class IDs: base classes (1-20), trans/baby (0xFA1-0xFB6), and 3rd/4th classes (0x1016-0x106C). |
| 0x00D73450 | 57 | is_extended_job_class | Checks if job ID is an extended job class (2.0+ classes like Rebellion, Kagerou, Star Emperor, etc.) |
| 0x00D734F0 | 40 | is_4th_job_class | Checks if a job class ID belongs to 4th job classes (0x109C-0x10CB or 0x10CE-0x10E9 ranges). |
| 0x00D73520 | 39 | is_valid_job_or_base_class | Validates job ID against RO job class ranges: base classes (0-30) and advanced jobs (0xFA1-0x116F). |
| 0x00D73550 | 48 | CItemOwner__IsInFavoritesList | Searches the favorites list vector in CItemOwner for a given item ID; returns 1 if found, 0 otherwise. |
| 0x00D73580 | 78 | CItemOwner__GetSkillLevelByAtoi0x1728 | Searches skill list at offset 0x1728 for skill ID matching param_2, returns skill level or -1 if not found. |
| 0x00D735D0 | 65 | CItemOwner__IsEquippedOrCurrentJob | Checks if an item ID matches the current job class or is equipped in one of 10 equipment slots. |
| 0x00D73620 | 41 | CItemOwner__HasSkillInList0x16f0 | Searches linked list at offset 0x16F0 for node where field[3] equals param_2; returns 1 if found, 0 if not found. |
| 0x00D73650 | 33 | is_not_special_event_job | Returns true if job ID is not wedding (0x2D), Christmas (0x68), or summer (0x6F) event job. |
| 0x00D73680 | 278 | CItemOwner__IsItemEquippedById | Checks if an item ID is equipped by searching current job equipment and 10 equip slots' main/sub item strings. |
| 0x00D737A0 | 296 | CItemOwner__IsItemEquippedWithLevel | Checks if item ID is equipped and meets minimum equip level threshold by searching inventory slots. |
| 0x00D738D0 | 51 | CItemOwner__MarkSkillChanged0x16f0 | Marks a skill as changed in the item owner's skill list and refreshes the equip windows UI. |
| 0x00D73910 | 51 | CItemOwner__MarkSkillChanged0x1720 | Marks a skill as changed in the item owner's skill list and refreshes equipment UI windows. |
| 0x00D73950 | 51 | CItemOwner__MarkSkillChanged0x1718 | Marks a skill in the item owner's skill list as changed and refreshes equipment UI windows. |
| 0x00D73990 | 433 | CItemOwner__BuildFavoritesSkillList | Rebuilds favorites skill list by iterating skills, matching IDs against favorites vector, and inserting matched items into linked list at offset 0x1730. |
| 0x00D73B50 | 724 | CItemOwner__BuildFavoritesSkillListWithLevels | Builds favorite skills list with levels by cross-referencing skill IDs against level data at offset 0x1728, filtering invalid entries. |
| 0x00D73E40 | 900 | CItemOwner__OnUnequipItem | Handles item unequipping: clears ammo slot with message, updates UI and skill nodes; processes other equipment positions. |
| 0x00D741D0 | 490 | CItemOwner__OnEquipItem | Equips item to character slots, displays green equip message, updates UI, and removes from inventory unless ammo. |
| 0x00D743C0 | 459 | CItemOwner__OnAddCostumeItem | Adds costume item to first available slot (max 10); removes from inventory, copies data, refreshes UI window 0x271B |
| 0x00D745B0 | 246 | preload_sprite_resources | Preloads shadow, cursor, and additional sprite resources via ResourceManager, temporarily zeroing UI state during cursor loading. |
| 0x00D746B0 | 438 | RefreshSpriteResources | Unloads then reloads shadow, cursors, and two additional sprite resources while preserving global resource handles. |
| 0x00D74870 | 1401 | CGameMode__InitLuaTableValues | Initializes Lua table values by executing Lua script and repeatedly calling GetTableIntValueForC to populate configuration data based on service type. |
| 0x00D759F0 | 2645 | CGameMode__LoadOptionInfo | Loads OptionInfo.lua and applies game settings (volumes, camera angles, resolution, UI options) to CGameMode instance. |
| 0x00D76450 | 265 | CItemOwner__AddPingAndAverage | Maintains FIFO queue of 4 ping values at offset 0xFC4, computes average, stores result at offset 0x780 |
| 0x00D76570 | 31 | refresh_party_window | Invokes virtual method 0x94 on window object DAT_0131f7b0 with message type 0x17 to refresh party UI display. |
| 0x00D76590 | 31 | refresh_guild_window | Invokes virtual method 0x94 on guild window object with message type 0x17 to refresh UI state. |
| 0x00D765B0 | 63 | refresh_window_by_type | Dispatches virtual message 0x17 to one of three window objects based on type parameter (0/1/2). |
| 0x00D765F0 | 49 | refresh_quest_window | Sends quest window refresh message (0x17) to active quest UI object via virtual method at offset 0x94 |
| 0x00D76630 | 39 | CItemOwner__SetCursorType | Sets the cursor type field (offset 0x16E8) based on config ID 0x2D or 0x2E depending on param_2 value. |
| 0x00D76660 | 40 | refresh_party_window_and_rebuild | Refreshes party UI by invoking virtual method 0x94 with packet 0x17, then rebuilds party member windows. |
| 0x00D76690 | 31 | refresh_status_window | Invokes virtual method 0x94 on status window object with message type 0x17 to refresh UI display. |
| 0x00D766B0 | 73 | CItemOwner__RemoveFromPartyList | Removes party member from linked list at offset 0x714, matching by ID param_2, decrements count at 0x718, frees node. |
| 0x00D76700 | 83 | copy_string_replace_underscore_with_space | Copies string from param_1 to param_2, replacing underscores with spaces while respecting MBCS character boundaries. |
| 0x00D76760 | 66 | std_string__destructor_wrapper | Wrapper function that destroys a std::string object with stack canary validation for security. |
| 0x00D767B0 | 474 | CItemOwner__SaveMiniPartyInfo | Serializes party member data (name, ID, job, level) to savedata\MiniPartyInfo.lua file for persistent storage. |
| 0x00D76990 | 48 | CItemOwner__SetSkillLevelByIndex | Traverses skill linked list at offset 0x1748, locates node at index param_2, sets skill level field to param_3 |
| 0x00D769C0 | 46 | CItemOwner__SetStatusAndRefreshUI | Sets item owner status field at offset 0x5BFC and sends UI refresh message 0x3C to window manager |
| 0x00D769F0 | 268 | CItemOwner__UpdateOrRemoveFriendById | Updates or removes friend from list (offset 0x17c4); sends packet 0xB0 on removal; opens friend window 0x22 if not found. |
| 0x00D76B10 | 541 | CItemOwner__SaveGuildEmblem | Saves guild emblem data to disk: creates _tmpEmblem dir, deletes old .ebm files for guild ID, writes new emblem file. |
| 0x00D76D40 | 56 | CItemOwner__UpdateEquipSlot | Updates equip slot with item data, copying item info and refreshing enchant effects by bitmask when slot index < 10. |
| 0x00D76D80 | 41 | CItemOwner__SetAccountId | Sets or clears the account ID string field at offset 0x15EC in CItemOwner object via snprintf. |
| 0x00D76DB0 | 11 | set_bit_flag_0x40 | Sets the 0x40 bit flag on a uint value using bitwise OR operation. |
| 0x00D76DC0 | 252 | CItemOwner__SetCurrentJobAndRefresh | Sets character job ID, invalidates equipment UI window, manages render queue entry 0x2B7, triggers UI refresh callback. |
| 0x00D76EC0 | 56 | CItemOwner__SetEquipmentEnchantment | Validates equipment slot index, copies item info, and refreshes enchantment effects by bitmask. |
| 0x00D76F00 | 309 | CItemOwner__UpdateFriendOnlineStatus | Updates friend's online status in linked list at offset 0x17C4, displays yellow notification message (0x411/0x412) via UIWindowMgr |
| 0x00D77040 | 33 | CItemOwner__SetHomuncSkillData | Stores homunculus skill data (param 10000+) into array at offset 0x6F0, with bounds checking on skill ID. |
| 0x00D77070 | 33 | CItemOwner__SetMercenarySkillData | Stores mercenary skill data at offset indexed by (skill_id - 8000) in skill array at this+0x6FC |
| 0x00D770A0 | 104 | CItemOwner__UpdateEquipNodeBySkill | Updates equipment node list by skill ID, applying status or item info changes, optionally refreshing UI. |
| 0x00D77110 | 33 | CItemOwner__SetElementalSkillData | Sets elemental skill data in array at offset 0x708, validating skill ID offset param_2-0x2008. |
| 0x00D77140 | 51 | CItemOwner__SetBothSkillLevelsByIndex | Sets current and max skill levels for a skill at given index in the skill list node. |
| 0x00D77180 | 46 | CSession__QueuePartyInfoPacket | Queues a party info packet (type 1) to the outbound message buffer for transmission to server. |
| 0x00D771B0 | 57 | CItemOwner__SetBaseLevelAndRefresh | Sets base level value at offset 0x51F0 and refreshes UI window 0x271B with message 0x17. |
| 0x00D771F0 | 37 | CItemOwner__ClearAllSkillChangedFlags | Iterates skill list at offset 0x16F0, resets skill changed flags (byte at +0x7D) from 1 to 0 for all nodes |
| 0x00D77220 | 57 | CItemOwner__SetJobLevelAndRefresh | Sets job level at offset 0x51F4 and triggers UI window 0x271B refresh with message 0x17. |
| 0x00D77260 | 517 | CEntity__SetJobIDAndRemap | Sets entity job ID with remapping of mounted/special variants to base classes; copies name and stores auxiliary param. |
| 0x00D775D0 | 34 | CItemOwner__SetMapCoordinates | Sets map position (x, y) and direction for CItemOwner object at offsets 0xEF8, 0xEFC, 0xF00. |
| 0x00D77600 | 43 | CItemOwner__SetPartyMemberJob | Updates job class for a party member in the linked list at offset 0x714, matching by member ID param_2. |
| 0x00D77630 | 36 | CItemOwner__SetServerTimeBase | Synchronizes client time with server by storing time offset; resets drift counter to establish baseline for item expiration tracking. |
| 0x00D77660 | 185 | CItemOwner__FindHotKeyNameByString | Searches hotkey name array for matching string; returns "nothing" if found or empty, else returns the input name. |
| 0x00D77730 | 227 | CItemOwner__UpdateCostumeSlotItem | Updates costume slot item by searching array at 0x3E94, updates quantity at 0x3EA0, fills empty slots, refreshes UI window 0x271B |
| 0x00D77820 | 176 | CItemOwner__AddCostumeToFirstEmptySlot | Finds first empty costume slot in array, copies item data, and refreshes costume window UI (0x271B). |
| 0x00D778D0 | 244 | CItemOwner__GetOrCreateMapNode | Retrieves or creates a map node for an item owner by key param_2, returning pointer to node data at offset +0x14. |
| 0x00D779D0 | 24 | CItemOwner__SetMapNodeFlag | Sets a flag byte on the map node associated with an item owner, creating the node if needed. |
| 0x00D779F0 | 488 | CEntity__InsertStatusEntry | Inserts or updates a status effect entry in an entity's status map, managing vector resizing and tree node allocation for buff/debuff tracking. |
| 0x00D77BE0 | 547 | CItemOwner__InsertOrUpdateMapStringEntry | Inserts or updates a string entry in CItemOwner's map at offset 0x808C; returns 1 if existed, 0 if new. |
| 0x00D77E10 | 533 | CGameMode__LoadNavigationLuaFiles | Loads navigation Lua files (maps, NPCs, mobs, links, scrolls) based on server subtype and initializes skill tree. |
| 0x00D78030 | 645 | CGameMode__QueryTransparentItemInfo | Invokes Lua function "querytransparentiteminfo" to query transparent item visibility settings from game script layer. |
| 0x00D782C0 | 1312 | CGameMode__LoadDataTableFile | Loads and parses a delimited data table file (#-separated fields, @-terminated records) into sorted vector of string-int pairs |
| 0x00D78870 | 41 | CItemOwner__ClearSkillFlag0x16f0 | Clears skill flag (byte at offset 0x7E) for item owner skill entry matching param_2 in list 0x16F0 |
| 0x00D788A0 | 41 | CItemOwner__ClearSkillFlag0x1720 | Searches skill list at offset 0x1720 for entry matching param_2, clears flag byte at offset 0x7E |
| 0x00D788D0 | 41 | CItemOwner__ClearSkillFlag0x1718 | Searches skill list at offset 0x1718 for entry matching param_2, clears flag byte at offset 0x7E |
| 0x00D78900 | 111 | CItemOwner__AdjustServerTimeDrift | Synchronizes server time drift by comparing local time against server param, tolerating 72-144ms variance before force-resyncing after 4 consecutive large drifts. |
| 0x00D78970 | 2297 | COptionManager__SaveOptionsToFile | Saves game option settings to a Lua-based configuration file by serializing UI state and invoking script callbacks. |
| 0x00D79490 | 93 | STL_vector_8byte_element_range_destroy | Destroys a range of 8-byte elements in an STL vector from param_1 to param_2 via iteration. |
| 0x00D79520 | 3 | identity_return | Identity function that returns its parameter unchanged; used as pass-through or default handler callback. |
| 0x00D7AE00 | 56 | CEntity__DeleteStatusField | Deletes a status field buffer from a CEntity object, validating bounds before deallocation. |
| 0x00D7AE40 | 54 | CEntity__GetStatusFieldB | Deallocates a status field buffer with bounds validation; multiplies param_2 by 0x24 to compute size before freeing. |
| 0x00D7AF00 | 109 | CEntity__ReleaseStatusField | Deallocates a status field structure, copying data between pointers and freeing 0x58-byte allocation. |
| 0x00D7AF90 | 112 | CEntity__ReleaseStatusFieldD | Releases/deallocates status field D memory, swaps parameter values, decrements entity counter, and cleans up string resources. |
| 0x00D7B020 | 67 | CEntity__FindStatusByIdOrDefault | Searches for a status entry by ID in a sorted container; returns match or default entity pointer. |
| 0x00D7B260 | 89 | CEntity__EnsureStatusCapacity | Resizes/manages entity status array to accommodate at least param_2 elements, expanding capacity if needed. |
| 0x00D7B2C0 | 163 | CEntity__SetStatusValues | Resizes a vector of strings to a new size, destroying excess elements or inserting new ones as needed. |
| 0x00D7D050 | 96 | snprintf_s_wrapper | Allocates 200-byte buffer via JSON allocator and formats variadic string arguments, returns char count or -1 on error. |
| 0x00D7D6C0 | 191 | CItemOwner__AddToWatchList | Adds item ID to watch list if not duplicate, resorts list, notifies UI window type 10 (achievement/reward filter) |
| 0x00D7D780 | 1187 | CShortcutMgr__DeleteMacroEntry | Deletes a macro entry from the shortcut manager, iterating through macro list and removing matching entry by pointer comparison. |
| 0x00D7DC2D | 1 | CAchievementMgr__format_achievement_list_entries | Formats achievement list entries with name+count strings. Handles truncation at 40 chars. Builds vector of formatted display strings for UI. |
| 0x00D7DC43 | 1 | bad_instruction_fragment_00d7dc43 | Bad instruction fragment 00d7dc43 |
| 0x00D7DFD7 | 1 | bad_instruction_fragment_00d7dfd7 | Bad instruction fragment 00d7dfd7 |
| 0x00D7E340 | 325 | CItemOwner__ProcessEquipItemToSlots | Equips item to up to 3 slots by converting bitmask positions, copying item attributes, updating UI and enchant effects. |
| 0x00D7E5F0 | 81 | CGameMode__AddToWatchList | Adds item ID to watch list vector if not already present; grows vector capacity when full |
| 0x00D7E650 | 178 | CItemOwner__EquipItemToSlot | Equips item to 1-3 slot positions by converting bitmask, copying item properties to equipment array |
| 0x00D7E710 | 20 | CItemOwner__UpdateSkillTreeEntry_enabled | Wrapper that enables a skill tree entry by calling UpdateSkillTreeEntry with enabled flag set to 1 |
| 0x00D7E730 | 441 | CItemOwner__UpdateSkillTreeEntry | Updates skill tree entry by copying data from source, finding/creating group entry, and syncing skill level with item requirements. |
| 0x00D7EA70 | 169 | CSkillTreeMgr__UpdateSkillProperties | Updates skill tree entry properties from item owner data and refreshes equipment UI if needed. |
| 0x00D7EB20 | 215 | CItemOwner__FindItemInfoByIndex | Searches item array by index; if found, copies item info and stores pointer offset; handles up to 5 items. |
| 0x00D7EC00 | 133 | CVendingMgr__AddItemToFirstEmptySlot | Iterates 5 vending slots, finds first empty slot (ID==0), copies item info into it using CItemInfo assignment operator. |
| 0x00D7EC90 | 1282 | CMode__SaveResourceToFile | CMode: SaveResourceToFile |
| 0x00D7F292 | 210 | CItemCatalogMgr__find_string_in_file_element | Gets element from RMA file, lowercases it, then searches CItemCatalogMgr string map. Returns match result. Cleans up string vector on exit. |
| 0x00D7F380 | 66 | CVendingMgr__ReturnAllItemsToInventory | Returns all 5 vending items from slots to player inventory and refreshes equipment UI windows. |
| 0x00D7F450 | 44 | CItemOwner__ResetEquipStringsAndSlots | Clears item strings 10 times and refreshes equipment UI display in player's item owner interface. |
| 0x00D7F480 | 60 | CVendingMgr__ClearAllSlots | Clears all 5 vending shop slots and title by zeroing item ID fields at stride 0xF8 intervals. |
| 0x00D7F4C0 | 37 | CItemTable__ClearItemStrings | Clears item strings 10 times by repeatedly calling CItemTable__ClearItemString in a loop. |
| 0x00D7F4F0 | 46 | CItemOwner__ClearHotkeyData | Clears hotkey-related data fields in CItemOwner structure by zeroing 7 consecutive memory regions. |
| 0x00D7F520 | 41 | CItemOwner__ClearHotkeySlots36 | Clears 36 hotkey slots (7 bytes each) starting at offset 0x491 in CItemOwner instance |
| 0x00D7F550 | 23 | CItemOwner__ClearSkillBuffer | Clears a 252-byte skill buffer at offset 0x58c in CItemOwner instance structure |
| 0x00D7F570 | 67 | CShortcutMgr__ClearAllShortcuts | Initializes 36 shortcut slots (144 bytes) to zero in CShortcutMgr instance, clearing all equipped items/skills from hotbar. |
| 0x00D7F5C0 | 162 | CGameMode__RemoveExpiredEffects | Removes expired status effects from two STL map containers by comparing timestamps against current time parameter. |
| 0x00D7F670 | 46 | CSkillTreeMgr__RemoveSkillAndRefreshUI | Removes skill node from tree lists and refreshes equipment UI if removal succeeded. |
| 0x00D7F6A0 | 122 | CMode__ClearQuestHotkeySlots | Clears quest skill hotkeys (IDs 10000-10019) from 36 slots across two hotkey bars at fixed memory offsets. |
| 0x00D7F790 | 150 | CItemOwner__RemoveVendingEntryById | Removes vending shop entry by item ID, validates quantity, and displays modal dialog with result status. |
| 0x00D7F8E0 | 84 | CGameMode__FindGroundSkillByID | Searches ground skill effects map for skill matching ID and validity criteria; returns skill object or -1 if not found. |
| 0x00D7F940 | 138 | CAchievementMgr__FindByID | Retrieves achievement entry by ID from map; copies 48-byte achievement struct to output or zeroes it if not found. |
| 0x00D7FB90 | 81 | CItemOwner__DispatchItemUseByRange | Dispatches item use handlers based on item ID range; routes to equip slot or field item type handlers. |
| 0x00D7FD30 | 265 | C3dActor__GetSpriteScale | Returns sprite scale factor based on job ID; handles special cases for Doram and specific job classes. |
| 0x00D7FE40 | 214 | xor_decrypt_buffer | Decrypts a 256-byte buffer by XORing it with a key pointer, conditionally using loop or unrolled operations. |
| 0x00D7FF20 | 201 | CSession__CountMatchingContextMenuItems | Counts context menu items matching a target actor ID by comparing strings in a menu item array. |
| 0x00D7FFF0 | 179 | CItemOwner__CountVendingEntriesByName | Counts vending shop entries matching both an item name and a search filter name string. |
| 0x00D800B0 | 138 | CItemOwner__GetOrCopyEquipItem | Retrieves or copies equip item data; initializes string buffer for slot 0xF, copies item for slots <10. |
| 0x00D80140 | 68 | CItemOwner__CountVendingPages | Counts active vending shop pages by checking 5 sequential page slots (0x5c58, 0x5d50, 0x5e48, 0x5f40, 0x6038) in item owner structure. |
| 0x00D803B0 | 211 | CLua__CallEffectFunction | Initializes default option values struct (24 bytes) and invokes Lua script function callback for effect processing. |
| 0x00D80490 | 367 | CLua__CallScriptFunctionWithStringArrayReturn | Calls Lua script function, initializes string array output buffer, and copies parameter string to result. |
| 0x00D80670 | 46 | CItemOwner__FindSkillEffectById | Searches a linked list of skill effects by ID, returns associated value or 0 if not found. |
| 0x00D806A0 | 33 | CGameMode__TryFindActiveActor | Returns early if UI mode is inactive, otherwise attempts to locate actor by AID in current session. |
| 0x00D80950 | 314 | CLua__GetHotKey | Lua wrapper that calls GetHotKey script function and returns hotkey data in param_1 output structure. |
| 0x00D80AB0 | 10 | identity_return_first_param | Identity function that returns its input parameter unchanged; used for generic callback wrappers or default pass-through handlers. |
| 0x00D80AC0 | 100 | CItemOwner__GetVendingSellSlotItem | Retrieves a vending item from the sell slot array and copies it to the output parameter using assignment. |
| 0x00D80C70 | 154 | CItemOwner__GetActionAnimationResource | Retrieves and loads an action animation resource for an item owner, formatting the resource ID and initializing it via ResourceManager. |
| 0x00D80D10 | 619 | CSession__ProcessSkillCastEffect | Parses skill cast effect data from XML config by skill ID, retrieving animation properties like action type and loop behavior. |
| 0x00D80F80 | 154 | CItemOwner__GetActionAnimationResource2 | Formats an action animation resource string from item owner data and loads it via ResourceManager. |
| 0x00D81020 | 871 | CGameMode__LoadIdleEffectConfigFromXML | Loads idle effect configuration from XML using obfuscated string lookup and JSON parameter parsing. |
| 0x00D813E0 | 145 | CItemOwner__GetOwnerActorFromSlots | Retrieves valid actor ID from item owner slots, validating UI state and actor existence in session. |
| 0x00D81560 | 105 | CJobNameResolver__GetJobNameString | Retrieves job name string from lookup table at index param_3 and assigns it to output std::string |
| 0x00D815F0 | 105 | CJobNameResolver__GetStringFromTableD | Retrieves a job name string from indexed table and assigns it to output std::string parameter |
| 0x00D81680 | 395 | CLua__InitializeHotKeyStateAndCall | Allocates hotkey state buffer, copies hotkey list data, calls Lua script function, returns success status. |
| 0x00D81810 | 229 | CLua__CallOptionFunction | Calls Lua option function with float parameter; returns modified float or original based on script execution state. |
| 0x00D81900 | 301 | CLua__GetOptionValue | Retrieves option value by calling Lua script function and copying result from Lua stack to output parameters. |
| 0x00D81A30 | 181 | CGameMode__LuaGetOptionValue | Calls Lua script function to retrieve an option value from game configuration, returning the query result. |
| 0x00D81AF0 | 335 | CLua__CallScriptFunctionReturnString_SetupAndCall | Initializes a 16-byte buffer with Lua option values, invokes script function, and prepares string assignment result. |
| 0x00D81C70 | 138 | CItemOwner__GetEquipSlotItemCopy | Copies equipment item data from slot to buffer; initializes string buffer for slot 0xF or invalid slots |
| 0x00D81D00 | 179 | CJobNameResolver__GetItemDataString | Retrieves item data string from weapon array by real weapon ID, initializes std::string with result. |
| 0x00D81DE0 | 202 | CLua__CallSpawnEffectScript | Calls Lua script function for spawn effect, allocates effect name buffer, retrieves resource from manager. |
| 0x00D81EB0 | 126 | CGameMode__GetPetEmotionString | Returns emotion state string for pet based on numeric emotion ID (0-10), used for animation/sprite selection. |
| 0x00D81F60 | 60 | CGameMode__GetEffectIndexFromTable | Retrieves effect index from 3D table, applies offset formula (index * 10 + 2), returns -1 if not found. |
| 0x00D81FA0 | 170 | CGameMode__LuaGetPetFood | Calls Lua script function "GetPetFood" and returns result; wrapper for pet food data retrieval from game state. |
| 0x00D82050 | 69 | CGameMode__GetItemRarityTier | Maps item ID ranges to rarity tiers (0-3): Common, Uncommon, Rare, Epic based on item_id thresholds. |
| 0x00D820A0 | 225 | CItemOwner__GetBaseExpBarColor | Returns ARGB color for base experience bar based on player base level ranges (1-100, 101-251, 252-749, 750-900, 901-1001, 1001+). |
| 0x00D82190 | 74 | classify_pet_hunger_state | Classifies pet hunger value into 5 states: hungry(11-25), bit_hungry(26-75), noting(76-90), full(91-100), so_full(91-100+). |
| 0x00D821E0 | 204 | CItemOwner__GetJobExpBarColor | Returns RGBA color bytes for job experience bar UI based on job level thresholds (11, 26, 76, 91, 101). |
| 0x00D822B0 | 63 | get_pet_hunger_string | Returns localized hunger state string for pet UI display based on numeric hunger level (0-4). |
| 0x00D82310 | 218 | CLua__InitPetIllustAndCallScript | Initializes pet illustration name string and invokes Lua script function with JSON formatting support. |
| 0x00D823F0 | 195 | CLua__GetPetJTID_by_PetEggITID | Wrapper that calls Lua function to retrieve pet job type ID from pet egg item ID, returns result or -1 on failure. |
| 0x00D824C0 | 1946 | get_pet_animation_name_by_mob_id | Maps mob IDs to pet animation sprite names for rendering in game client; includes 50+ pet/familiar creature types from Ragnarok Online |
| 0x00D83160 | 679 | CGameMode__GetPetAnimationStateEffect | Retrieves XML effect data for pet animations based on hunger state (hungry/full/etc) from obfuscated string tables. |
| 0x00D83470 | 169 | CLua__GetPetString | Calls Lua "GetPetString" function with parameter; returns result or 0 on failure for UI use |
| 0x00D83520 | 59 | get_action_motion_table_entry | Computes offset into 3D motion table (actor/job/motion) with lazy sync from master data pointer. |
| 0x00D83560 | 507 | CGameMode__ProcessAndPlaySoundEffect | Processes sound effect parameters with JSON formatting, performs string substitution, and applies configuration before playback. |
| 0x00D83760 | 215 | CItemOwner__FindSkillByID | Searches three skill ID ranges (8000-8060, 8248-8305, 10000-10019) across linked lists; returns skill data pointer or delegates to CSkillTreeMgr. |
| 0x00D83880 | 58 | CGameMode__FindLinkedListNodeById | Searches linked list node by ID field, returns pointer to node data or NULL if not found |
| 0x00D838C0 | 63 | CGameMode__GetLinkedListNodeByIndex | Retrieves a linked list node at the specified index from CGameMode, supporting both forward and backward traversal. |
| 0x00D83900 | 58 | CGameMode__FindLinkedListNodeById2 | Searches a doubly-linked list in CGameMode for a node with matching ID at offset +16, returns pointer to node data at +8. |
| 0x00D83940 | 63 | CGameMode__GetLinkedListNodeByIndex2 | Retrieves node from doubly-linked list at given index; supports negative indexing from end. |
| 0x00D83980 | 58 | CGameMode__FindLinkedListNodeById3 | Searches a doubly-linked list in CGameMode for a node with matching ID (param_2), returns pointer to node data offset. |
| 0x00D839C0 | 63 | CGameMode__GetLinkedListNodeByIndex3 | Traverses a doubly-linked list node by index (forward/backward), returns node pointer and list head with validation. |
| 0x00D83A00 | 50 | linked_list_find_node_by_id | Traverses intrusive linked list to find node by ID, returns pointer to node's data field offset by 2 |
| 0x00D83A40 | 212 | CActObjectExt__CalcAnimFrameByTime | Calculates current animation frame index from elapsed time using frame count, interval, and modulo cycling for looped sprite animations. |
| 0x00D83B20 | 352 | validate_and_count_hotkey_entries | Validates hotkey key codes (0x1e, 0x21, 0x22, etc.) and counts valid entries, then invokes Lua hotkey list size retrieval. |
| 0x00D83C80 | 61 | CGameMode__AdjustShortcutBarPosition | Adjusts shortcut bar Y position by multiplying offset factor by 9, clamped to max 0x24 pixels. |
| 0x00D83CC0 | 160 | CGameMode__FindTopTwoAchievementNodes | Traverses achievement tree nodes to find and return the two highest priority nodes via output parameters. |
| 0x00D83D60 | 2334 | C3dActorPC__GetJobSpriteIndex | Maps job class IDs to sprite indices for PC character rendering in the 3D actor system. |
| 0x00D84680 | 110 | CJobNameResolver__GetJobNameForDisplay_Male | Wrapper that calls CJobNameResolver::GetJobNameForDisplay with gender parameter hardcoded to male (0) for sprite rendering. |
| 0x00D846F0 | 110 | CJobNameResolver__GetJobNameForDisplay_Female | Wrapper that calls GetJobNameForDisplay with gender parameter set to 1 (female) for sprite rendering. |
| 0x00D84760 | 26 | CMode__GetSexByte | Retrieves and syncs character sex byte from offset 0x5538 to cache at 0xe78 for map server entry packet 0x0436. |
| 0x00D84780 | 168 | CJobNameResolver__GetStringFromArray | Retrieves job name string from internal array by index; returns first element if index out of bounds. |
| 0x00D84850 | 21 | get_item_name_by_id | Retrieves item name string pointer from global item table by item ID using offset 0x40 in item data structure. |
| 0x00D84870 | 17 | CItemOwner__GetPartyMemberValue | Retrieves a party member's value from an offset array at base+0x400, indexed by param_2*4 bytes. |
| 0x00D85F00 | 1930 | CGameMode__ProcessGroundSkillVisual | Maps ground skill IDs to visual effect parameters (duration and animation frames) for client rendering. |
| 0x00D872C0 | 185 | load_job_sprite_resource | Loads sprite resource for a job by retrieving simple job name and loading via ResourceManager without lock. |
| 0x00D89D30 | 87 | get_random_idle_effect_trigger_name | Maps idle effect trigger type enum (0-6) to string names for game event triggers (attack, skill, HP thresholds, death). |
| 0x00D89DB0 | 273 | CLua__GetJobInheritTableValue | Retrieves the JobInheritTable global value from Lua, initializing a job inheritance list structure if needed. |
| 0x00D8A010 | 107 | CJobNameResolver__GetMapJobName2_Male | Wrapper that resolves male job sprite names by calling GetMapJobName2 with gender parameter set to 0. |
| 0x00D8A080 | 110 | CJobNameResolver__GetMapJobName_Male | Wrapper that resolves male job names for map sprites by calling GetMapJobName with gender parameter set to 0. |
| 0x00D8A0F0 | 110 | CJobNameResolver__GetMapJobName_Female | Wrapper that calls CJobNameResolver__GetMapJobName with gender parameter set to 1 (female) for sprite loading. |
| 0x00D8A160 | 107 | CJobNameResolver__GetMapJobName2_Female | Wrapper that calls CJobNameResolver__GetMapJobName2 with gender parameter hardcoded to 1 (female) for sprite/weapon asset loading. |
| 0x00D8A1D0 | 68 | get_job_view_direction | Retrieves job view direction from item table, returns -1 for Doram/Summoner/custom job ranges |
| 0x00D8A220 | 851 | CMode__LoadResourceFromFile | Loads prohibition list resource from file, reads entries with size/data pairs, populates game mode restriction data structure |
| 0x00D8A590 | 600 | CMode__LoadMapInfoTable | Loads and parses MapInfoTable.scp file, populating a map info data structure with integer values from whitespace-separated rows/columns. |
| 0x00D8A7F0 | 55 | CMode__ResetSelectedIds | Conditionally resets three selected ID fields (at +0x5bd4/5bd8/5bdc) to -1 based on three boolean flag parameters. |
| 0x00D8A830 | 21 | reset_global_selected_ids | Resets two global selected entity IDs to -1 (invalid), likely clearing UI selection state for player/NPC targets. |
| 0x00D8A850 | 1781 | CMode__InitHomEmotionTable | Initializes homunculus emotion animation table by resolving emotion type string IDs and populating offset table at param_1+0x1038. |
| 0x00D8AF50 | 795 | LoadXMLFiles | Loads and parses XML configuration files (PetTalkTable, MonsterSkillInfo, MonsterTalkTable) into memory during client initialization. |
| 0x00D8B280 | 12496 | CGameMode__InitSlotMapResources | Initializes the slot map resources for the game mode's equipment/appearance display system. Loads sprite and texture resources for all equipment slot visual representations: body sprites indexed by job class, headgear sprites for all 3 headgear slots, weapon sprites, shield sprites, garment/robe sprites, and accessory sprites. Builds lookup tables mapping item IDs to their corresponding sprite resource indices. Handles special cases for job-specific sprite variations (e.g., different weapon sprites per job class), gender-specific sprite paths, and mount/cart/falcon accessory sprites. Pre-caches commonly used sprites to avoid loading hitches during gameplay. The slot map is used by the 3D actor rendering system (CCamera3D__RenderActorWithSpriteOverlay) to quickly resolve equipment item IDs to loaded sprite resources for character rendering. |
| 0x00D8E350 | 45 | is_shadow_equip_job | Checks if a job ID (0x123-0x12f range) corresponds to a shadow equipment class; returns 1 if match, 0 otherwise. |
| 0x00D8E3A0 | 330 | CMode__FindQuestByID | Searches quest vector (stride 0x2c) for entry matching quest ID param_2; returns true if found. |
| 0x00D8E4F0 | 30 | is_normal_or_baby_class | Returns 1 if job class is normal (0) or baby (4), 0 for other class types. |
| 0x00D8E510 | 189 | is_summoner_or_special_job | Checks if a job ID belongs to summoner, special jobs, or 4th job classes in Ragnarok Online. |
| 0x00D8E5D0 | 20 | UIWindowMgr__GetActiveSessionWorldPtr | Retrieves world/session object pointer from active UI mode's context structure via offset chain. |
| 0x00D8E5F0 | 14 | is_elemental_spirit_type | Checks if a spirit type ID matches elemental spirit (0x12), likely used for spirit companion classification. |
| 0x00D8E600 | 37 | is_pc_or_elemental_type | Returns 1 if entity type is PC, NPC, monster, or elemental; 0 otherwise. |
| 0x00D8E630 | 129 | is_valid_equip_position_bit | Validates equipment slot bitmasks by checking if param_1 matches one of 12 valid power-of-2 equip position constants. |
| 0x00D8E6C0 | 37 | find_status_effect_in_list | Find status effect in list |
| 0x00D8E6F0 | 37 | has_status_effect_29 | Has status effect 29 |
| 0x00D8E720 | 16 | CMode__InitializeMapEffect | Initializes or retrieves map effect with ID 8, likely a default environmental effect for the current map. |
| 0x00D8E730 | 16 | CMode__FindOrCreateMapEffect | Finds or creates map effect with ID 7, likely for map-wide visual effect initialization. |
| 0x00D8E740 | 16 | CMode__CreateOrFindVisualEffect_13 | Creates or retrieves visual effect with ID 0x13, likely a map-specific environmental or status effect. |
| 0x00D8E750 | 16 | CMode__CreateOrFindMapEffect | Creates or retrieves a visual effect (type 0x11) linked to the current map/mode context |
| 0x00D8E760 | 16 | CMode__CreateOrGetMapEffect | Creates or retrieves a map effect object with ID 0x10 from the effect linked list. |
| 0x00D8E770 | 16 | CMode__CreateOrGetMapEffect_Sparkle | Creates or retrieves a sparkle/shine effect (0x12) for the current map mode display |
| 0x00D8E780 | 16 | CMode__SetMapInfoField_9 | Creates or retrieves a map effect with ID 9, likely for environmental visual effects or weather |
| 0x00D8E790 | 16 | CMode__SetMapInfoField_15 | Creates or retrieves a map effect with ID 0xf (15), likely for visual effects or map state initialization. |
| 0x00D8E7A0 | 63 | is_ground_unit_type | Checks if entity type ID belongs to ground unit category (types 4,5,8,9,11-15) in RO client. |
| 0x00D8E7E0 | 53 | is_npc_unit_type | Returns 1 if entity type ID is NPC-like (types 3, 6, 7, 10, 16, 17, 19); 0 otherwise. |
| 0x00D8E820 | 33 | CMode__HasQuests | Checks if the quest log vector contains any active quests by comparing start and end pointers. |
| 0x00D8E850 | 47 | has_status_effect_by_id | Has status effect by id |
| 0x00D8E880 | 42 | is_elemental_summon_skill | Returns 1 if skill ID matches elemental summon skills (0x505, 0x506, 0x507), else 0. |
| 0x00D8E8B0 | 25 | is_homunculus_id | Checks if a job ID belongs to homunculus class range (10000-10019, 20 total homunculus types). |
| 0x00D8E8D0 | 43 | is_mercenary_or_elemental_id | Checks if mob ID is a mercenary (0x1771-0x1780) or elemental (0x17a0-0x17a4) summon. |
| 0x00D8E900 | 25 | is_elemental_id | Checks if entity ID falls within elemental sprite range (0x17a0-0x17a4 / 6048-6052). |
| 0x00D8E920 | 25 | is_pet_id | Checks if entity ID falls within pet ID range (8000-8060) used in Ragnarok Online game entities. |
| 0x00D8E940 | 32 | is_sky_emperor_or_soul_reaper_job | Checks if job ID is Sky Emperor (0x10d3) or Soul Reaper 4th class (0x10da), returns 1 if match |
| 0x00D8E960 | 25 | is_homunculus_s_id | Checks if a mob ID falls within the Homunculus S range (0x1782-0x17A4, 35 species). |
| 0x00D8E980 | 25 | is_any_mercenary_id | Checks if entity ID falls within mercenary/homunculus/elemental range (0x1771-0x17A4 / 6001-6052). |
| 0x00D8E9A0 | 43 | is_guild_or_battleground_skill_id | Checks if skill ID falls within guild (0x2008-0x2031) or battleground (0x20d0-0x2109) ranges. |
| 0x00D8E9D0 | 88 | is_entity_npc_sprite | Checks if entity has sprite ID in NPC ranges (1001-3999 or 20021-31999) via GetResolvedJobID. |
| 0x00D8EA30 | 60 | is_player_character_id | Compares param_1 against current player character ID from UIWindowMgr active mode session object. |
| 0x00D8EA70 | 26 | CMode__IsHomunculus | Checks if the given homunculus ID matches the active homunculus stored at offset 0x5558. |
| 0x00D8EA90 | 26 | CMode__IsMercenary | Checks if the given mercenary ID matches the mercenary stored in the CMode instance at offset 0x5608. |
| 0x00D8EAB0 | 139 | CMode__IsTargetable | Determines if an entity ID is targetable by checking if it's a party/mercenary member or validating entity state (alive, visible, valid position, not self). |
| 0x00D8EB40 | 56 | CMode__FindSkillInList | Walks skill linked list searching for skill by ID, optionally verifying it's not on cooldown, returns 1 if found. |
| 0x00D8EB80 | 26 | CMode__IsElemental | Checks if the provided elemental ID matches the mode's stored elemental property at offset 0xff0. |
| 0x00D8EBA0 | 47 | has_status_effect_by_id_2 | Has status effect by id 2 |
| 0x00D8EBD0 | 9 | is_valid_job_wrapper | Thin wrapper that delegates job validation to is_valid_job_or_base_class function. |
| 0x00D8EBE0 | 25 | is_ap_skill_id | Checks if a skill ID falls within the AP skill range (0x2329-0x251C / 9001-9500). |
| 0x00D8EC00 | 20 | UIWindowMgr__GetActiveModeAccountId | Retrieves account ID from active UI mode's session/context structure (offset 0xcc->0x4c). |
| 0x00D8EC20 | 32 | is_barricade_or_guardian_id | Checks if entity ID is barricade (0x7f7) or guardian stone (0x9a0) siege warfare object. |
| 0x00D8EC40 | 29 | is_whitespace_char | Returns 1 if character is space or tab, 0 otherwise. Used for whitespace validation in text parsing. |
| 0x00D8EC60 | 46 | is_rebellion_job | Returns 1 if job ID matches Rebellion class (0x105e-0x1061), else 0. |
| 0x00D8EC90 | 44 | is_mounted_class_job | Checks if a job ID corresponds to a mounted class (Knight, Rune Knight, and two other mounted jobs). |
| 0x00D8ECC0 | 86 | is_mounted_or_rebellion_job | Checks if job ID belongs to mounted, rebellion, sky emperor, or soul reaper classes. |
| 0x00D8ED20 | 42 | is_4th_job_or_extended_job | Checks if a job ID belongs to extended 3rd/4th job classes (0x1073-0x1098, 0x10ce-0x10dc ranges). |
| 0x00D8EDC0 | 42 | is_baby_4th_job | Checks if a job ID corresponds to a baby 4th job class variant in Ragnarok Online. |
| 0x00D8EE60 | 1083 | CMode__PlaySkillEffects | Plays skill visual and sound effects by calling Lua HaveSkillEffectInfo, GetEffectWaveFileName, GetEffectNum/ID functions. |
| 0x00D8F2A0 | 21722 | CGameMode__ProcessSkillEffect_VisualHandler | Main visual handler for skill effects in the game mode. Processes skill effect events and creates the appropriate visual representations. Contains a massive switch statement dispatched by skill ID that handles: casting animations (creates casting circle effects at target position), hit effects (creates impact sprites on the target entity), projectile effects (creates moving sprite from caster to target with direction calculation), area-of-effect visuals (creates ground-projected effects with radius), buff/debuff indicators (attaches persistent sprite effects to entities), and screen effects (camera shake, flash, color overlay). For each skill: determines the correct effect IDs from CSkillEffectTable, calculates world positions from cell coordinates, plays associated sound effects via CSoundManager__Play3DSound, creates effect actors via CEffect__CreateEffectByID, and manages effect lifetimes. Handles both standard skills and Renewal-era skills with their more complex multi-stage visual sequences. Some skills have alternate "reduced effect" versions controlled by game config option 0xE5. |
| 0x00D95160 | 898 | CLua__CheckHaveSkillEffectInfo | Calls Lua function "HaveSkillEffectInfo" with allocated string buffer and returns masked result value. |
| 0x00D954F0 | 3 | nop_stub | Empty stub function that serves as a no-op placeholder, likely used for disabled functionality or API compatibility. |
| 0x00D95500 | 575 | get_item_type_combination | Determines item type combination code for equip slots based on item ID ranges (weapons, armor, cards, costumes, shadows). |
| 0x00D95740 | 486 | CMode__UnequipItem | Unequips item at bitmask position, shows message, returns to inventory, updates UI and enchant effects. |
| 0x00D95930 | 109 | CMode__CheckHotkeyBarChanged | Compares 10 hotkey bar entries against reference strings; returns 1 if changed, 0 if all match. |
| 0x00D959A0 | 84 | is_gender_restricted_head | Checks if a head style ID is restricted to male characters (param_1==1); returns 1 if male with specific female-only head IDs. |
| 0x00D95A00 | 865 | CMode__PlayGroundSkillEffects | Executes Lua callbacks to retrieve and play ground skill visual/sound effects at specified coordinates. |
| 0x00D95DE0 | 61 | refresh_equipment_windows_1 | Sends refresh message (0x17) to equipment window objects DAT_0131f8ac and DAT_0131f6d0 via virtual method at offset 0x94. |
| 0x00D95E20 | 61 | refresh_equipment_windows_2 | Sends equipment window refresh message (0x17) to two UI window objects via virtual method at offset 0x94 |
| 0x00D95E60 | 102 | refresh_equipment_windows_3 | Sends refresh message (0x17) to three equipment windows: two global pointers and window type 0x9f via CUIWindowMgr. |
| 0x00D95ED0 | 132 | CMode__SplitItemFromCart | Splits specified quantity of item from cart storage to player inventory, updates cart remainder, and refreshes equipment UI. |
| 0x00D95F60 | 1569 | CGameMode__SaveProhibitionLog | Serializes prohibition log entries (player names, timestamps, flags) to binary .gd and text .txt files in game root directory. |
| 0x00D96590 | 255 | CLua__ResetHotKeys | Resets hotkey bars by calling Lua function ResetTheHotKey twice with bar IDs 0xc0/0x84 and 0x24/0x87 |
| 0x00D96690 | 243 | CMode__GetOrCreateQuestEntry | Retrieves or creates a quest entry in the quest map by ID, initializing with zeros if new, returns pointer to quest data structure. |
| 0x00D96790 | 523 | CMode__InitSkillTreeFromLua | Initializes skill tree UI from Lua by retrieving job inheritance chain and calling InitSkillTreeView for each job with appropriate tier level. |
| 0x00D96A50 | 118 | CMode__SetOrAddKeyValuePair | Updates existing key-value pair in vector or appends new pair; manages int-based configuration/state storage at offset 0x758. |
| 0x00D96AD0 | 59 | CMode__SetSelectedSlotId | Sets selected slot ID for a character/equipment slot index (0-2) in the CMode class instance. |
| 0x00D96B10 | 230 | CMode__SetAutocastSlot | Sets autocast skill in slot (0-1), clears duplicates by skill ID, updates UI message 0x139 to refresh autocast display. |
| 0x00D96C00 | 25 | CMode__SetGender | Sets gender flag (bit 0) at two offsets in CMode instance for character gender state. |
| 0x00D96C20 | 937 | CMode__SetHotkeySlot | Configures hotkey slot with skill/item, clears duplicates, updates UI message 0x139, manages 7-byte slot data structures. |
| 0x00D96FD0 | 226 | CMode__FindSkillNameInPage | Searches hotkey skill page for matching skill name/level; returns "nothing" or skill name string. |
| 0x00D970E0 | 20 | CMode__SetHotkeyLevel | Stores a hotkey level value in the CMode hotkey table at offset 0x400 + (param_3 * 4). |
| 0x00D97100 | 84 | string_to_upper_and_print | Converts std::string to uppercase in-place, then prints it via puts(). Handles SSO optimization. |
| 0x00D97160 | 1353 | CGameMode__UpdateAchievementProgress | Updates achievement UI progress entries by matching achievement IDs, formatting progress strings, and setting completion flags based on current/required counts. |
| 0x00D97810 | 139 | COptionManager__AssignCString | Assigns a C string to an std::string member by computing length and calling assign_range for option storage. |
| 0x00D98320 | 169 | CMode__IsPetAccessory | Calls Lua script function "IsPetAccessory" to determine if an item is a pet accessory; returns boolean result. |
| 0x00D983F0 | 45 | CSession__CopyUISettingRange | Copies UI setting items from range [param_2, param_3) into a doubly-linked list container structure |
| 0x00D98488 | 202 | CVendingItem__build_linked_list_from_array | Builds linked list of CVendingItem (0x100 bytes each) from array. Copy-assigns each item, chains nodes via pointers. Creates sentinel node at end. |
| 0x00D98560 | 427 | CLua__GetFieldAsStringArray | Extracts a Lua table field as string array into vector, resizing to match table length and populating strings via iteration. |
| 0x00D9876D | 135 | CLuaIterator__next_table_entry | Lua table iterator: calls lua_next to advance, reads string value if type==4 (LUA_TSTRING). Returns 0 when iteration complete, 2 on success. |
| 0x00D98A30 | 80 | CUserConfig__PushStringToVector | Adds a string to CUserConfig's string vector, using in-place initialization if space available, otherwise calls emplace_back. |
| 0x00D98A90 | 175 | CUserConfig__FormatStringWithParam | Formats a string with 2 parameters using fmt::format, extracting buffer from std::string and delegating to fmt__format_to_string_v2. |
| 0x00D98B40 | 148 | CUserConfig__FormatStringWithParam_v2 | Wrapper that formats a string with parameters using STL num_put, setting up stack frame security and calling fmt__format_to_string_v2 |
| 0x00D98C10 | 80 | CItemOwner__InitVariantFromString | Initializes a variant object from a string parameter, setting up internal state with flags and STL wrapper. |
| 0x00D98EF0 | 187 | CMode__EquipItemToSlots | Equips item to up to 3 equipment slots by converting position bitmask, copying item data, setting equipped flag, and refreshing UI windows. |
| 0x00D98FB0 | 185 | CMode__EquipItemToSlotsEx | Equips item to inventory slots, handles job change position (0x8000), validates slot indices, updates visual and UI. |
| 0x00D99070 | 222 | CMode__AddToUintSet | Inserts a uint value into a red-black tree set at offset 0x7f74, using lower_bound to find insertion point and allocating 0x14-byte nodes. |
| 0x00D99150 | 613 | convert_job_to_trans_or_baby | Converts job class IDs between normal/transcendent/baby forms based on source job type, handling 4th job mappings. |
| 0x00D99670 | 358 | CMode__SendWalkToMapPacket | Sends walk/map transition packet (0x7f40b11) after validating map type 2 entry in red-black tree; clears or creates node as needed. |
| 0x00D997E0 | 20 | CMode__ClearHotkeyBarData | Clears 63 bytes of hotkey bar configuration data at offset 0x68c in CMode instance. |
| 0x00D99800 | 46 | clear_all_equip_item_strings | Clears item strings for all 10 equip slots then refreshes the equipment UI windows. |
| 0x00D99830 | 46 | refresh_all_equip_slots_2 | Clears item strings 10 times then refreshes all equipment window UI displays. |
| 0x00D99860 | 308 | CMode__CanChangeJobByStyle | Validates if player can change job class via style system; checks level, job type, style shop state, item count limit, and job restrictions. |
| 0x00D999A0 | 36 | CMode__FindHotkeySlotBySkillId | Searches 9 hotkey slots (7-byte stride at offset 0x68d) for matching skill ID, returns slot index or -1. |
| 0x00D999D0 | 89 | get_actor_gender_override | Overrides actor gender based on job ID ranges; returns forced gender (0/1) for baby/wedding jobs or male-only ranges. |
| 0x00D99A30 | 126 | get_job_mount_type | Returns mount type (0=none, 1=same sprite, 2=special) based on job ID for character rendering. |
| 0x00D99B20 | 177 | CSession__DeserializePartyMemberList | Deserializes party member list from linked list, extracts basic info for each member into output vector. |
| 0x00D99BE0 | 177 | CSession__DeserializeItemSlotArray | Deserializes item slot array from linked list, parses each node via CItemTable__ParseItemSlotData, inserts into output vector. |
| 0x00D99CA0 | 140 | get_job_equip_preview_tab | Returns UI equipment preview tab index based on job class type (4th job, extended, rebellion, or Doram). |
| 0x00D99D30 | 267 | CGameMode__GetJobBaseSprite | Returns sprite ID constant based on job class type (mounted, 4th job, extended, Doram, rebellion). |
| 0x00D99E40 | 115 | get_doram_race_type | Resolves player's Doram job ID to race archetype: 1=physical, 2=magical, 3=support, 0=non-Doram |
| 0x00D99EE0 | 548 | CItemOwner__ProcessEquipStateUpdate | Processes equip state updates for items, handling item lookup, position conversion, and equipped item retrieval/assignment. |
| 0x00D9A110 | 1336 | C3dActorPC__GetJobClassType | Maps job class IDs to their corresponding display/UI class type IDs for PC actors in RO client rendering. |
| 0x00D9A960 | 243 | CItemOwner__CollectEquippedSlotIds | Collects IDs of equipped item slots from CItemOwner, iterating 10 slots and deduplicating non-zero slot IDs into a vector. |
| 0x00D9AA70 | 243 | CItemOwner__CollectEquippedItemIds | Collects IDs of equipped items from a CItemOwner instance, iterating 10 equipment slots and deduplicating into a vector. |
| 0x00D9AB80 | 115 | CSession__SetMapNameString | Sets map name string in session object at offset 0x15ec, used by minimap UI rendering. |
| 0x00D9AC90 | 26 | CLua__GetRenderSystemDefault | Retrieves the RenderSystemDefault global integer setting, returning 0 if value is invalid or unset. |
| 0x00D9ACB0 | 26 | CLua__GetRenderSystemResetFlag | Retrieves the "RenderSystemReset" global integer option, returning 0 if not set or value if positive. |
| 0x00D9ACD0 | 1788 | CSession__serialize_basic_info | Serializes session basic info by constructing and appending packet data (0xfb, 0xfd, 0xfe headers) to output vector. |
| 0x00D9B480 | 280 | CSession__serialize_chat_room_list | Serializes chat room list entries into a network packet buffer with room metadata (ID, member count, title, password flag). |
| 0x00D9B5A0 | 227 | CMode__RemapJobIdToMountId | Maps job IDs to mount/vehicle IDs for character display, handling special job-to-mount conversions in RO. |
| 0x00D9B7C0 | 147 | CItemOwner__MapShadowJobId | Maps shadow job IDs (0x10ec-0x10f8) to their corresponding job class IDs (0xfdc-0xfef) for character job system. |
| 0x00D9B890 | 1181 | CSkill__LoadSkillDescFromLua | Loads skill descriptions from Lua script, iterates through skill list, calls GetSkillMaxLv and processes SkillFlag table entries. |
| 0x00D9BD60 | 138 | CSession__GetEquipSlotItem | Retrieves equipped item from slot (0-9 copies from array at +0x6B48, slot 0xF clears via rbtree, else clears). |
| 0x00D9BDF0 | 175 | CSession__GetEquipSlotItemOrFind | Retrieves equipped item from slot (0-9), finds by index for slot 0xF, or clears for invalid slots. |
| 0x00D9BEC0 | 163 | CItemOwner__GetBuyingStoreItem | Retrieves a buying store item by index from CItemOwner's vending item list with bounds checking. |
| 0x00D9BF70 | 168 | CLua__IsTopLayer | Calls Lua "IsTopLayer" function with sprite layer ID; returns top byte indicating render priority/overlay status. |
| 0x00D9C020 | 74 | CSession__IsSkillCooldownReady | Checks if a skill cooldown has expired by querying cooldown list at offset 0x5420, returning 1 if ready or 0 if still cooling. |
| 0x00D9C070 | 3855 | CGameMode__InitArrayResources | Initializes vtable pointers and manages dynamic array capacity for game resource objects in CGameMode. |
| 0x00D9CF80 | 42 | is_doram_job_id | Returns 1 if job ID matches Doram class variants (Summoner/Mystic Summoner), 0 otherwise. |
| 0x00D9D030 | 70 | CSession__CheckIdleEffectTimer | Checks if idle effect timer has elapsed; updates stored timestamp and returns 1 if interval expired, else 0. |
| 0x00D9D080 | 76 | CItemOwner__IsCurrentJobDoramClass | Checks if player's current job ID matches Doram class IDs (0x13, 0x14, 0xfb4, 0xfb5, 0xfca-0x10d1 range) |
| 0x00D9D1D0 | 65 | is_special_headgear_job | Checks if a job ID belongs to special headgear jobs (0x14b, 0x78b, 0x87b, 0x9be, 0xa1b, 0xa2e, 0xa2f) for sprite rendering. |
| 0x00D9D220 | 62 | is_entity_targetable | Checks if entity is targetable by validating actor type (1/6/12) or fallback job ID validation for game interaction |
| 0x00D9D260 | 44 | CGameMode__GetLocalPlayerFieldFD | Gets byte at offset 0xFD from active UI window mode's field, returns as 32-bit value with upper bytes from offset 0xFD area. |
| 0x00D9D290 | 21 | is_job_id_in_range | Checks if job ID is in summoner/new class range [4332, 4349]. Used by GetJobSprNameEx and GetJobNameWithGender to decide between table-based lookup (in range) vs Korean fallback path (out of range). PATCHED by Phase 10: extended to [4332, MaxJob] so custom jobs use table lookup instead of Korean fallback. Without patch, custom jobs get Korean sprite paths that don't exist on disk → NULL resource → crash. |
| 0x00D9D2B0 | 38 | CItemOwner__CheckSpriteIndexValid | Validates if a sprite index is within valid range by comparing against item owner's capacity limits. |
| 0x00D9D2E0 | 40 | is_skill_type_ground_targeted | Returns 1 if skill type is ground-targeted (0x16, 0x1a-0x1e), 0 otherwise. |
| 0x00D9D320 | 59 | CSession__IsItemEquipped | Checks if an item ID is equipped by scanning 10 equipment slots in CSession, comparing against both primary and secondary item IDs per slot. |
| 0x00D9D360 | 77 | is_job_with_extended_styling | Checks if job ID qualifies for extended styling shop features (4th jobs, extended jobs, or specific job IDs 0x105E-0x1098). |
| 0x00D9D400 | 939 | CUserConfig__InitializeLuaConfigStrings | Initializes vector of localized config strings (0x220-0x223) from message table into CUserConfig object. |
| 0x00D9D7D0 | 185 | CSession__UnequipItem | Unequips item by position bitmask, clears item data, updates visual gear, and refreshes equip UI windows. |
| 0x00D9D890 | 446 | CItemOwner__ProcessUnequipResult | Processes unequip packet result; updates equipment state, displays item message dialog, refreshes UI equipment windows. |
| 0x00D9DA50 | 113 | CSession__ResetSessionFlags | Initializes CSession state flags on login, resetting skill/action states and setting default flag values across multiple offsets. |
| 0x00D9DAD0 | 798 | CSession__serialize_map_info | Serializes session map information into packet buffers (0x1964, 0x196f, 0x1970) for RO game state |
| 0x00D9E480 | 6448 | CSession__SerializeConfigEntries | Serializes ~80 player config entries (IDs 0x3E8-0x44D / 1000-1101) into a byte vector. Each entry is packed as [2-byte ID][data length][data bytes]. Reads settings from various offsets in the CSession object (hotkeys, UI states, display options, etc.). Called to build config save/sync packets. Uses g_config_lookup_by_id for runtime config values. |
| 0x00D9FE60 | 3195 | CSession__serialize_player_status | Constructs a player status packet by serializing multiple status values (0x07da, 0x07db, etc.) into a binary buffer using STL vectors. |
| 0x00DA0B90 | 1451 | CSession__serialize_party_data | Serializes party data into network packets; constructs packet buffers with party info and member status codes (0x0FA4, 0x0FAA). |
| 0x00DA118E | 1 | bad_instruction_fragment_00da118e | Bad instruction fragment 00da118e |
| 0x00DA11C0 | 2755 | CSession__PackUISettings | Serializes UI settings into packet buffers with multiple UI configuration records (0x1194, 0x125d, 0x125e opcodes). |
| 0x00DA1CF0 | 1625 | CSession__serialize_skill_tree | Serializes player skill tree data into packets (0x1d4c header, 0x1d4d for skill entries) for network transmission. |
| 0x00DA23D0 | 182 | CItemOwner__CreateSingleItemPacket | Initializes a packet buffer with opcode 0x1d6 and item owner ID, allocating 4 bytes for single item packet data. |
| 0x00DA2490 | 2024 | CSession__serialize_equip_data | Serializes equipment data into packet buffers with multiple packet types (0x157c, 0x1586) for network transmission to game server. |
| 0x00DA2D40 | 103 | CItemOwner__InitVectorEmpty | Initializes a vector structure to empty state by zeroing three 4-byte fields (capacity, size, pointer). |
| 0x00DA2DB0 | 2415 | CSession__serialize_extended_data | Serializes extended session data by allocating and populating packet buffers with client capability/feature flags. |
| 0x00DA4850 | 968 | CSession__serialize_hotkey_data | Serializes hotkey data into packets (0x7000 header + 0x1bbc hotkey data) for transmission to server. |
| 0x00DA5150 | 3025 | CGameMode__DeserializeRegistryData | Deserializes TLV-encoded registry data (tag 1000+) into CGameMode object offsets for UI/hotkey/chat config. |
| 0x00DA5EC0 | 1308 | CSession__deserialize_player_status | Deserializes packet 0x2000 containing player status attributes (cases 0x7d1-0x7e2) into CSession object fields via memcpy. |
| 0x00DA6490 | 709 | CSession__deserialize_party_data | Deserializes party data packet (0x4000) into CSession object, extracting party member info and guild names via switch cases. |
| 0x00DA6790 | 886 | CSession__deserialize_packet_ui_settings | Deserializes UI settings packet (0x1194) parsing nested item inventory data across multiple equipment slots. |
| 0x00DA6C30 | 342 | CSession__deserialize_skill_tree | Deserializes skill tree packet data (0x1d4c) from network buffer, parsing skill entries and status effects. |
| 0x00DA6F40 | 748 | CSession__deserialize_equip_data | Deserializes equipment data packet (0x157c) from network buffer, extracting item info into CSession object offsets |
| 0x00DA7280 | 5 | return_false_stdcall_1 | Returns FALSE (0) as a no-op stub function, likely used for disabled features or placeholder callbacks |
| 0x00DA7290 | 2637 | CSession__deserialize_extended_data | Deserializes extended session data from packet 5000, copying field values to CSession object at specified offsets. |
| 0x00DA7F70 | 411 | CSession__deserialize_enchant_data | Deserializes enchant data packet (0xDAC) from network buffer, processes enchant parameters and forwards enchant packets (0xDB6) to CEnchantMgr. |
| 0x00DA8120 | 321 | CSession__deserialize_hotkey_data | Deserializes hotkey configuration packets (0x1bbc, 0x1bbd) from network buffer into CSession hotkey slots and data. |
| 0x00DA8270 | 1102 | CUserConfig__SaveToFile | Serializes CUserConfig data to file, formatting shortcut list and config table as Lua-style text with proper escaping. |
| 0x00DA86D0 | 111 | C3dActor__SetGenderFromJobID | Sets C3dActor gender field (0xECC) based on job ID, with special handling for costume/headgear IDs. |
| 0x00DA8740 | 70 | CSession__ShowConfigChangeMessage | Toggles a config flag at offset 0x7F5C and displays corresponding message dialog (0xCD2 enabled, 0xCD3 disabled). |
| 0x00DA8790 | 61 | CSession__ShowConfigChangeMessage_v2 | Displays a config change confirmation dialog; toggles DAT_015fb99c flag and shows localized message based on inverted param_1. |
| 0x00DA87D0 | 108 | CSession__RebuildSkillTreeList | Clears and rebuilds skill tree list by iterating items with type 6, copying/reallocating as needed. |
| 0x00DA8840 | 34 | CItemOwner__RefreshEquipUI | Invokes virtual method at offset 0x94 on equipment UI object with packet ID 0x6a and parameters 0x23f, 0, 0, 0. |
| 0x00DA88D0 | 643 | CPartyManager__CopyMemberData | Deserializes party member data from a packet buffer and inserts deserialized members into a party member list. |
| 0x00DA8B60 | 508 | CItemOwner__SerializeItemData | Deserializes item data from a buffer into a linked list of CVendingItem nodes by parsing serialized item table entries. |
| 0x00DA8D60 | 361 | CSession__deserialize_item_list | Deserializes a byte buffer into a list of CItemInfo objects, parsing up to 10 items from network packet data. |
| 0x00DA8ED0 | 123 | CSession__OnJobChange | Updates session actor's job ID; refreshes 4th job sprites and UI if job tier changed; reloads skill tree. |
| 0x00DA8F50 | 57 | CSession__SetActiveEntityAndNotifyUI | Sets active entity ID in CSession and notifies status window (0x272E) UI with event 0x3C. |
| 0x00DA8F90 | 159 | CSession__UpdateHotkeySlot | Assigns item ID to hotkey slot, clearing any existing slot with same ID to maintain uniqueness across 9 slots. |
| 0x00DA91A0 | 712 | CSession__deserialize_basic_info | Deserializes session basic info from network packet buffer using tag-based format (0xfb-0x102 tags), copying data to CSession object fields. |
| 0x00DA94A0 | 228 | CItemOwner__UpdateEquipVisual | Updates equipped item visual state by managing a collection (likely equipment list) and invalidating UI window cache when equipment changes. |
| 0x00DA9590 | 66 | CGameMode__DestroyStringCleanup | Destroys a std::string object with stack canary protection during CGameMode cleanup/destruction sequence. |
| 0x00DA95E0 | 185 | CSession__OnCharDeleteResponse | Processes character deletion response by validating message, displaying dialog via UI manager, and removing character ID from session set. |
| 0x00DA9BF0 | 357 | CItemOwner__BuildVendingList | Populates a vending shop list by finding items by index and adding them to a linked list structure with overflow protection. |
| 0x00DA9D60 | 193 | CSkill__AddSkillDescEntry | Manages skill description vector by reallocating capacity and freeing/copying entries at specified index. |
| 0x00DA9E50 | 265 | CHomunculusActor__Constructor | Initializes CHomunculusActor instance by setting vptr, zeroing member fields, and copying initial position data. |
| 0x00DAA000 | 243 | CGameMode__CreateNpcActor | Initializes a CGameMode NPC actor object with default values (health 36000, zeroed flags, mounted job ID 0x7e). |
| 0x00DAA100 | 124 | CGameMode__CreateGroundEffect | Constructs a CEffectListWindow instance and initializes ground effect display state with default rendering parameters. |
| 0x00DAA180 | 118 | C3dActorItem__Init | Initializes a C3dActorItem instance by setting up UIObject base, loading 3D actor resources, and zeroing the item drop state. |
| 0x00DAA380 | 231 | CGameMode__CreateMobActor | Initializes a mob actor object with default values (HP timer 36000, clears mount/state flags, sets mob ID from param_2) |
| 0x00DAA470 | 106 | CGameMode__DestroyActorVector | Destroys a vector of actor pointers by freeing allocated memory, with bounds validation before deletion. |
| 0x00DAA500 | 71 | C3dActorItem__Destructor | Destructor for C3dActorItem class; sets vtable pointer and calls base C3dActor destructor with stack canary validation. |
| 0x00DAA610 | 71 | C3dActorSub__dtor | Destructor for C3dActorSub class; calls base C3dActor destructor with stack canary validation |
| 0x00DAA6E0 | 221 | CGameMode__DestroyActorAndUI | Destructor that unregisters UI window, removes actor effects, clears effect list, and performs cleanup of 3D actor resources. |
| 0x00DAA7C0 | 96 | C3dActorSub__scalar_deleting_dtor | Scalar deleting destructor for C3dActorSub; calls base destructor and conditionally frees memory if delete flag set. |
| 0x00DAA980 | 96 | C3dActorSub__deleting_dtor | Deleting destructor for C3dActorSub class; calls base destructor and conditionally frees 0x140 bytes of memory. |
| 0x00DAAA90 | 35 | CGameMode__Destructor_scalar | Destructor for CGameMode that cleans up actors/UI and conditionally deallocates the object (0x438 bytes). |
| 0x00DAAAC0 | 381 | CGameMode__GetSkillElementType | Maps skill IDs to element type constants (fire=5, earth=3, ghost=0xb, wind=9, etc) for damage calculations |
| 0x00DAB0B0 | 210 | C3dActor__GetTrapEffectModelPath | Maps job/trap IDs to effect model file paths for trap visualization in 3D actor rendering. |
| 0x00DAB2E0 | 36 | is_pet_type_entity | Returns 1 if entity type is a pet (types 3, 0x12, 0x1b, 0x1f), 0 otherwise |
| 0x00DAB560 | 82 | C3dActor__NormalizeVector2D | Normalizes a 2D vector by computing its magnitude and dividing both components by it. |
| 0x00DAB780 | 492 | CEffect__InitChatBalloonText | Initializes chat balloon text rendering by loading alphabet bitmap, calculating character positions, handling line wrapping with width constraints (0x160 pixels). |
| 0x00DABA90 | 120 | C3dActor__InitMountState | Initializes mount state for C3dActor by setting mount ID, duration (36000ms), and zeroing related flags/timers. |
| 0x00DABB10 | 855 | C3dActor__UpdateMovementDirection | Updates actor's movement direction by calculating normalized velocity vector toward target position with speed scaling. |
| 0x00DABE70 | 66 | C3dActor__IsAnimationStillPlaying | Checks if a 3D actor's animation is still playing by comparing elapsed time against animation duration. |
| 0x00DABFC0 | 198 | C3dActor__UpdateTimedAnimation | Updates animation timing by calculating elapsed time and current frame based on animation speed and frame count. |
| 0x00DAC090 | 4664 | C3dActor__ProcessAnimationFrame | Processes 3D actor animation frames, updating movement, sound events, and handling special animations like death (0x72) and spawn effects. |
| 0x00DAEF80 | 76 | C3dActor__ProcessFrameWithColorConfig | Processes animation frame and applies color configuration (alpha 0xFF or 0x32) to 3D actor based on config ID 0x10a. |
| 0x00DAF020 | 2413 | C3dActor__UpdateAnimationMovement | Updates 3D actor position/animation frame based on action type (idle, walk, attack, sit, etc) and target coordinates. |
| 0x00DAFFF0 | 59 | C3dActor__RenderWithShadowOverride | Conditionally renders 3D actor with shadow based on actor type flags and visibility state, skipping certain entity types. |
| 0x00DB0700 | 320 | C3dActorPC__HandlePositionUpdate | Processes packet 0xe to update PC actor position (X,Y,Z), timestamp, and trigger movement effects or actions. |
| 0x00DB0840 | 276 | C3dActor__SetIdleAnimationState | Sets idle animation state by copying animation parameters from source struct to actor when action ID is 0xE |
| 0x00DB09A0 | 141 | C3dActor__ProcessInputEventOverride | Routes actor input events; handles chat (0x16) and command (0x75) packets; delegates others to CGameMode |
| 0x00DB0A30 | 113 | C3dActor__DispatchActionOverride | Dispatches actor animation/action with parameter validation; routes to optimized handler or fallback dispatcher based on constraints. |
| 0x00DB0BB0 | 711 | C3dActor__UpdateAnimationState | Maps job/class IDs (param_9) to animation state data pointers for specific action events (param_3==0xe). |
| 0x00DB0F30 | 195 | C3dActor__InitActorSpriteActions | Initializes actor sprite actions with parameter validation; dispatches to action handler or executes jump table routine based on param_2/param_3. |
| 0x00DB4D60 | 542 | C3dActor__InsertIntoQuadTree | Inserts a 3D actor into a spatial quadtree with bounding box calculations and thread-safe near plane distance adjustments. |
| 0x00DB4F80 | 489 | C3dActor__CreateFromResource | Initializes a 3D actor from a resource by loading models/actors, setting transformations, and registering collision geometry. |
| 0x00DB5170 | 129 | CApp__InitSubsystemEntry | Initializes a subsystem entry object by copying vftable pointer and configuration parameters from source to destination. |
| 0x00DB5200 | 477 | CApp__Constructor | Constructs CApp object, initializes network crypto context, GRF manager, critical sections, and skill effect loader |
| 0x00DB5460 | 74 | CApp__FreeGlobalObject | Deallocates a CApp global object by freeing its internal pointer and the object itself via operator delete. |
| 0x00DB55A0 | 223 | CApp__ShutdownAndCleanup | Sequentially destroys game data containers, network buffers, file handles, and RB-tree structures during application shutdown. |
| 0x00DB57D0 | 35 | CApp__Destructor_scalar | CApp destructor that performs cleanup via ShutdownAndCleanup() and conditionally deallocates the CApp instance (0x160 bytes). |
| 0x00DB5800 | 33 | CMode__Destructor_scalar | CMode scalar destructor; sets vftable pointer then conditionally deletes object if param_2 lowest bit set |
| 0x00DB5830 | 162 | CApp__HandleWindowDrag | Handles window dragging by tracking cursor position delta and moving window; releases drag on mouse button release with optional cursor clipping. |
| 0x00DB58E0 | 273 | CApp__ProcessMessageQueue | Processes window messages, handles IME input (0xE5), and manages cursor dragging with window repositioning based on mouse movement. |
| 0x00DB5A00 | 1506 | WinMain__ShutdownGlobalManagers | Destroys singleton manager instances (OptionConfig, PaidItemMgr, UIInfoManager, SkillTreeMgr) and cleans up global subsystems at shutdown. |
| 0x00DB5FF0 | 208 | CApp__CleanupAndRestart | Reinitializes CApp by loading skill effects, enumerating data containers, clearing skin directory, then shutting down. |
| 0x00DB60C0 | 628 | WinMain__RecursiveDeleteDir | Recursively deletes a directory and its contents, handling file attributes and subdirectories via Windows API. |
| 0x00DB6340 | 136 | CApp__ClipCursorToClient | Restricts cursor movement to the game client window by converting client area coordinates to screen space and applying ClipCursor. |
| 0x00DB6530 | 291 | CApp__ProcessMessagesAndHandleWindowDrag | Processes Windows messages with IME virtual key handling and manages window dragging based on cursor movement while mouse button held. |
| 0x00DB6670 | 805 | WinMain__CreateMainWindow | Initializes main game window with WNDCLASS, calculates centered position, adjusts for taskbar, applies fullscreen or windowed styling from config. |
| 0x00DB69A0 | 135 | CApp__GetWindowsVersion | Detects Windows 9x platform (dwPlatformId==1) by calling GetVersionExA with fallback for older struct size. |
| 0x00DB6A30 | 158 | CApp__LaunchExternalProcess | Executes external process by parsing "/launcherRESTART:" command from DAT_01602ab0 string buffer and launching via CreateProcessA. |
| 0x00DB6AE0 | 216 | CApp__MoveFileWithBackup | Manages AI script file versioning by rotating AI_backup→delete, AI→AI_backup, AI_patch→AI during startup. |
| 0x00DB6BC0 | 611 | ReadSetupRegistry | Loads Ragnarok Online graphics and audio configuration from Windows registry (HKEY_LOCAL_MACHINE), initializing global settings for display and sound. |
| 0x00DB6E30 | 9 | release_cursor_clip | Disables cursor clipping by passing NULL to Windows ClipCursor, allowing unrestricted mouse movement. |
| 0x00DB6E40 | 931 | enumerate_processes_find_ragexe | Enumerates running processes via toolhelp32 snapshot, searches for RAGEXE.EXE by matching executable filename. |
| 0x00DB71E3 | 18 | free_library_if_loaded | Conditionally unloads a dynamically loaded library if it was previously loaded into memory. |
| 0x00DB7200 | 659 | check_process_by_library | Enumerates running processes and checks if RAGEXE.EXE or SAKEXE.EXE is loaded to detect RO client instances |
| 0x00DB7499 | 12 | unload_library_if_loaded | Conditionally unloads a dynamically loaded library if handle is non-null using Windows FreeLibrary API. |
| 0x00DB74B0 | 206 | CApp__OnActivateWindow | Handles window focus changes: reduces process priority when unfocused, sends logout packet (0x7f40b11), or clips cursor when focused if configured. |
| 0x00DB75C0 | 2439 | WinMain__InitSubsystems | Initializes game subsystems including high-resolution timer, config manager, and Stove SDK based on sandbox/live environment detection. |
| 0x00DB8100 | 2195 | MainWndProc | Main window message procedure handling keyboard, mouse, paint, and IME candidate selection events for the game client UI |
| 0x00DB8B30 | 111 | CApp__CreateLuaGlobalObject | Initializes or retrieves singleton Lua global state instance, allocating 0xC bytes if needed. |
| 0x00DB8BA0 | 220 | WinMain__AllocateGlobalObjects | Initializes singleton CAdventureGuideMgr with red-black tree nodes for bidirectional iteration. |
| 0x00DB8C80 | 111 | CApp__CreateRefCountedObject | Lazily initializes a singleton CRefCountedObj instance with stack canary protection and exception handling. |
| 0x00DB8CF0 | 111 | CApp__CreatePaidItemMgr | Lazily initializes singleton CPaidItemMgr instance with 0xc bytes allocation; returns early if already constructed. |
| 0x00DB8EBD | 1 | CClientInfo__find_string_in_table | Searches clientinfo string table (0x18-byte entries) by comparing C-string against each entry. Returns match string or creates new entry on failure. |
| 0x00DB8F6A | 1 | CClientInfo__add_table_entry_and_cleanup | CClientInfo: add table entry and cleanup |
| 0x00DB9060 | 4418 | WinMain | Game client entry point; initializes mutex, launcher verification, graphics/network, message loop, and cleanup. |
| 0x00DBB598 | 43 | Init | Initializes a critical section object for thread synchronization, returning HRESULT error code on failure. |
| 0x00DBB5C3 | 26 | InternalSetAtIndex | ATL::CSimpleArray template method that sets an element at specified index, validating pointer before assignment. |
| 0x00DC4A90 | 1292 | deflate_write_tree_codes | Writes Huffman tree codes to deflate bitstream with bit-level buffering and byte flushing logic. |
| 0x00DC6590 | 763 | validate_color_space_transform | Validates PNG color space transformation parameters with reciprocal calculations and range checks against 100000 limit. |
| 0x00DC6890 | 439 | png_check_cHRM_fixed | Validates PNG cHRM (chromaticity) chunk fixed-point values sum to 100000 and normalizes them via png_muldiv. |
| 0x00DC6A60 | 275 | format_uint_as_fixed_point_string | Converts unsigned integer to fixed-point decimal string with up to 5 fractional digits in a buffer. |
| 0x00DC6B80 | 1141 | png_ascii_from_fp | Converts floating-point number to ASCII string with configurable precision for PNG metadata/debug output. |
| 0x00DC7000 | 400 | png_build_16bit_table | Builds 16-bit lookup tables for PNG gamma correction with linear or gamma-adjusted scaling based on bit depth parameter. |
| 0x00DC7190 | 292 | png_build_gamma_lut | Builds a gamma-corrected lookup table for PNG color mapping with specified bit depth quantization. |
| 0x00DC72C0 | 95 | png_build_gamma_table_entry | Allocates and initializes a 256-entry gamma correction lookup table for PNG image processing with version-dependent behavior. |
| 0x00DC7320 | 511 | png_init_palette_transformations | Initializes PNG palette gamma correction transformations, building lookup tables for 8/16-bit color processing. |
| 0x00DC75B0 | 109 | adler32_checksum_update | Updates Adler-32 checksum for PNG/zlib data validation with state flag checks before processing. |
| 0x00DC7620 | 509 | png_check_IHDR | Validates PNG IHDR chunk parameters (width, height, bit depth, color type, interlace, compression, filter methods) |
| 0x00DC7820 | 244 | parse_number_literal | Parses numeric literal characters, tracking state machine for sign, decimal point, exponent, and digits to validate number format. |
| 0x00DC7A00 | 80 | png_find_chunk_by_tag | Converts 32-bit chunk tag integer to 4-byte string and delegates PNG chunk search to png_find_chunk_op |
| 0x00DC7A50 | 80 | png_set_chromaticity_fixed | Sets PNG chromaticity values after validation; copies 8 color parameters and verifies PNG signature. |
| 0x00DC7AA0 | 134 | png_verify_sRGB_gamma | Validates PNG gamma value matches sRGB specification; returns success/failure with benign error reporting for mismatches. |
| 0x00DC7C60 | 117 | png_process_unknown_chunk | Validates and processes unknown PNG chunks by checking length, name, and CRC; returns success status. |
| 0x00DC7CE0 | 110 | png_handle_cHRM | Validates PNG cHRM (chromaticity) chunk data; sets error flag and handles validation failures with appropriate error messages. |
| 0x00DC7D50 | 136 | png_handle_cHRM_write | Validates and applies PNG chromaticity (color) chunk data; sets color endpoint values from cHRM chunk or errors on invalid data. |
| 0x00DC7DE0 | 124 | png_handle_sRGB | Validates and processes sRGB color space chunk in PNG, checking for duplicates and gamma range validity. |
| 0x00DC7E60 | 345 | png_normalize_chromaticity_coefficients | Normalizes PNG cHRM chromaticity XYZ coefficients to sum to 0x8000 with error handling. |
| 0x00DC7FC0 | 264 | png_set_sRGB | Validates and sets sRGB color space information in PNG chunk, verifying consistency with cHRM and gamma data. |
| 0x00DC80D0 | 218 | process_png_chromaticity_chunk | Validates and stores PNG chromaticity chunk data, comparing against tolerance thresholds and setting format flags. |
| 0x00DC81B0 | 93 | png_copy_colorspace_and_error | Copies 72 bytes of PNG colorspace data from source to destination struct, then invokes chunk error handler for PNG processing. |
| 0x00DC8210 | 111 | png_process_chunk_flags | Processes PNG chunk ancillary bit flags (0x72 offset) and updates chunk state flags at offset +8 based on critical/private/reserved bits. |
| 0x00DC8280 | 467 | validate_srgb_profile_chunk | Validates sRGB profile chunks in PNG by comparing CRC32/Adler32 checksums against known profile database. |
| 0x00DC8680 | 397 | png_create_read_struct_impl | Allocates and initializes PNG read structure with memory/error handlers and decompression state. |
| 0x00DC8860 | 361 | png_free_palette_transform_data | Frees palette transformation data structures by iterating through bit-depth-dependent palette entries and deallocating associated memory buffers. |
| 0x00DC8A80 | 1228 | png_free_data | Frees PNG image data structures based on flags; handles row data, palette, gamma, and ICC profile cleanup. |
| 0x00DC8F50 | 106 | png_gamma_correct | Applies gamma correction to a 16-bit color value using power function with global gamma constants and rounding. |
| 0x00DC8FC0 | 111 | apply_gamma_correction_to_byte | Applies gamma correction to 8-bit color value; returns corrected value or original if out of range. |
| 0x00DC90B0 | 17 | png_stream_read_get_position | Returns the stream position (offset 0x60) from a stream object handle, or 0 if handle is null. |
| 0x00DC90D0 | 9 | thunk_crt_get_security_cookie_table | Thunk wrapper that calls get_security_cookie_table() for CRT stack security initialization. |
| 0x00DC90E0 | 64 | png_find_chunk_op | Searches PNG chunk array for matching chunk type, returns associated operation code or 0 if not found. |
| 0x00DC9120 | 779 | png_validate_icc_profile | Validates PNG ICC color profile chunk: checks signature, rendering intent, color space compatibility, and profile class against PNG image type. |
| 0x00DC9430 | 83 | png_check_chunk_length_and_limit | Validates PNG chunk length against minimum requirements and application-defined limits, handling oversized chunks. |
| 0x00DC9490 | 253 | validate_icc_profile_tags | Validates ICC profile tag offsets and alignment within a profile chunk, checking bounds and 4-byte alignment requirements. |
| 0x00DC9590 | 310 | png_handle_unknown_chunk | Handles unknown PNG chunks by building error message with profile name, chunk ID, and validation flags. |
| 0x00DC96D0 | 75 | process_srgb_profile_chunk | Validates sRGB profile chunk and applies sRGB color space settings to PNG image structure. |
| 0x00DC9720 | 21 | png_format_byte_as_char | Sanitizes byte to printable ASCII range [0x20-0x7E], replacing non-printable chars with '?' |
| 0x00DC9740 | 72 | png_format_chunk_name_quoted | Formats a 4-byte PNG chunk type as a quoted string (e.g., 'IHDR') by converting each byte to ASCII character representation. |
| 0x00DC9790 | 41 | png_safe_execute_with_error | Records error message to buffer at offset 0x20, sets error flag bit 2, then invokes error callback handler. |
| 0x00DC97C0 | 47 | cleanup_png_image_struct | Safely frees PNG image structure if valid and uninitialized, using setjmp-based error handling. |
| 0x00DC97F0 | 157 | cleanup_png_struct | Closes file handle if open, then destroys PNG read/write struct based on mode flag |
| 0x00DC9890 | 74 | reallocate_and_clear_struct | Reallocates a 0x118-byte structure if needed and clears it to zero; used for game data structure management. |
| 0x00DC98E0 | 18 | set_struct_io_ptr | Sets an I/O function pointer at offset 0x60 in a struct, likely for PNG stream handling |
| 0x00DC9900 | 164 | png_muldiv | Multiplies two integers by a third and divides by a fourth with range validation and rounding. |
| 0x00DC99B0 | 58 | png_muldiv_warn | Wrapper for png_muldiv that returns result or 0 on fixed-point overflow, logging warning to game client. |
| 0x00DC99F0 | 113 | pow_base_by_exponent | Computes base raised to an integer exponent using binary exponentiation with overflow protection. |
| 0x00DC9A70 | 110 | clamp_gamma_calculation | Clamps a gamma-corrected value between two bounds; returns adjusted value or 0 if out of range. |
| 0x00DC9AE0 | 103 | validate_bounded_division | Divides a global constant by param_1, floors result, validates it's within bounds [DAT_0100acc0, DAT_0100acb0], returns result or 0. |
| 0x00DC9B50 | 126 | calculate_bounded_reciprocal_division | Calculates floor(constant / param_1 / param_2) clamped between two bounds; returns 0 if invalid. |
| 0x00DC9BD0 | 28 | png_calculate_adler32 | Initializes adler32 checksum and stores result at offset 0x13c in provided structure/object. |
| 0x00DC9BF0 | 31 | inflate_reset | Validates pointer and delegates to internal zlib inflate reset routine, returning error code if null. |
| 0x00DC9C10 | 5 | write_uint32_big_endian | Writes a 32-bit unsigned integer to memory in big-endian byte order (MSB first). |
| 0x00DC9C20 | 85 | bitfield_test_and_set | Tests and sets bits in a bitfield at offset 0x210, using param_2 as bit index and param_3 as new value. |
| 0x00DC9C80 | 44 | png_set_sig_bytes | Sets the number of PNG signature bytes already read, with validation that count doesn't exceed 8. |
| 0x00DC9CB0 | 223 | verify_png_header | Verifies PNG file signature (89 50 4E 47 0D 0A 1A 0A) at specified offset with partial matching support. |
| 0x00DC9D90 | 293 | png_check_version_mismatch | Validates libpng version compatibility; warns if compiled vs runtime versions differ, returns 1 if match, 0 if mismatch. |
| 0x00DC9EC0 | 332 | normalize_color_channels | Normalizes 6 RGB color channel values to percentage scales using png_muldiv, validates all operations succeed |
| 0x00DCA010 | 59 | png_zalloc | Safely allocates memory for zlib operations with overflow protection, returning null if allocation would exceed bounds. |
| 0x00DCA050 | 5 | png_free | Frees PNG image memory using custom allocator at offset 0x264 or standard free() if not set |
| 0x00DCA060 | 157 | png_zstream_error | Sets error message string in object at offset 0x9c based on zlib error code, only if not already set. |
| 0x00DCA130 | 104 | png_build_16bit_table_entry | Converts 8-bit PNG color values to 16-bit based on color type and applies gamma correction when needed. |
| 0x00DCA1A0 | 160 | build_gamma_lookup_table | Builds a 16-to-8 bit gamma correction lookup table by iterating through grayscale and color values. |
| 0x00DCA240 | 51 | png_build_8bit_gamma_table | Builds 8-bit gamma correction lookup table by iterating through all 256 gray levels with equal RGB values. |
| 0x00DCA280 | 51 | png_init_grayscale_gamma_table | Initializes PNG grayscale gamma correction lookup table by building 256 gamma tables with identical R,G,B values. |
| 0x00DCA2C0 | 90 | png_build_16bit_gamma_table | Builds a 16-bit gamma correction lookup table by iterating through RGB color space in 0x33 (51) unit steps. |
| 0x00DCA320 | 131 | png_build_16bit_table_pair | Blends two 16-bit color table entries using alpha interpolation and applies gamma correction. |
| 0x00DCA3B0 | 1286 | png_set_palette_color | Sets PNG palette entry color with gamma correction, handling RGB/grayscale conversion and bit-depth scaling. |
| 0x00DCA8E0 | 31 | png_image_begin_read_from_file | Wrapper that initializes PNG image reading from file by delegating to implementation with default parameters (0,0,0). |
| 0x00DCA900 | 81 | png_image_begin_read_from_file_impl | Initializes PNG read structure with file I/O, setting flags (0x300000) and buffer sizes (0x8000, 0x2000) |
| 0x00DCA960 | 61 | png_destroy_read_struct | Destroys PNG read structure by cleaning info structs, read state, and PNG struct; nullifies pointer. |
| 0x00DCA9A0 | 210 | apply_png_filter_to_scanline | Applies PNG filter types 2 and 3 (Up/Average) to deinterlace image scanlines based on bit depth. |
| 0x00DCAA80 | 57 | validate_client_version | Validates client version against thresholds; returns 1 if param_1 exceeds 99999, 0 if zero, else checks version threshold. |
| 0x00DCAAC0 | 171 | png_image_read_from_file | Opens and initiates PNG image reading from file with error handling and libpng initialization for Ragnarok client |
| 0x00DCAB70 | 139 | png_image_read_from_memory | Initializes PNG image reading from memory buffer with version/parameter validation and sets up memory read callbacks. |
| 0x00DCAC00 | 106 | png_image_read_from_stdio | Initializes PNG image reading from stdio with version validation, parameter checks, and row reading execution via setjmp. |
| 0x00DCAC70 | 466 | png_image_finish_read | Validates PNG image parameters, allocates buffers, and executes PNG read transformations with error handling for RO client images. |
| 0x00DCAE50 | 66 | build_feature_flags_from_state | Constructs a feature/capability bitmask from client state flags at offsets 0x14c, 0x153, 0x154 |
| 0x00DCAEA0 | 97 | png_image_memory_read_fn | Reads bytes from in-memory PNG data buffer, tracking position and remaining bytes, errors if read exceeds buffer. |
| 0x00DCAF10 | 901 | png_read_row_interlaced | Deinterlaces PNG image data using Adam7 interlacing, processing pixel rows with color space conversion for RO client sprites. |
| 0x00DCB2B0 | 1467 | png_read_interlaced_image | Reads interlaced PNG image data with 8-bit channels, processing Adam7 interlacing passes with row-by-row transformation. |
| 0x00DCB870 | 3718 | png_init_read_transformations_2 | Initializes PNG read transformation settings for color type, alpha handling, and gamma correction from game graphics assets. |
| 0x00DCC730 | 460 | ro_process_image_data | Validates PNG color format and bit depth, then reads interlaced or standard image rows into buffer with error handling. |
| 0x00DCC910 | 642 | png_read_image | Reads PNG image data with interlace support, applies alpha blending using lookup tables for pixel composition |
| 0x00DCCBA0 | 1207 | png_read_png | Configures PNG reader settings for color/alpha/bit-depth transformations based on feature flags before decompression. |
| 0x00DCD060 | 166 | extract_png_color_palette_info | Extracts PNG color palette configuration and feature flags, storing palette size and state into output parameter structure. |
| 0x00DCD110 | 203 | png_image_read_init | Initializes PNG image read structures by creating read struct, info struct, and allocation buffer; returns 1 on success. |
| 0x00DCD1E0 | 39 | png_set_keep_unknown_chunks_wrapper | Configures PNG chunk handling to preserve unknown chunks and exclude specific 6-byte chunk type from preservation. |
| 0x00DCD210 | 314 | png_read_destroy | Deallocates PNG read state buffers including palette transforms, zlib inflate context, and various intermediate processing arrays. |
| 0x00DCD350 | 833 | png_read_process_chunks | Processes PNG file chunks (IDAT, PLTE, gAMA, etc.) with decompression and filtering during PNG decoding |
| 0x00DCD6A0 | 170 | png_read_image_rows | Reads PNG image data rows with interlace handling, processing multiple passes for interlaced PNG files. |
| 0x00DCD750 | 810 | png_process_chunk_by_type | Routes PNG chunk processing based on chunk type tag, dispatching to appropriate handler functions for IHDR, IDAT, PLTE, gAMA, cHRM, etc. |
| 0x00DCDA80 | 456 | png_write_png_2 | Reads and decodes PNG image data with configurable transformation flags, allocating row buffers and processing chunks. |
| 0x00DCDC50 | 560 | png_read_row | Reads and processes a single row from a PNG image, handling interlacing modes and adaptive filtering decompression. |
| 0x00DCDF80 | 141 | png_read_rows | Reads multiple PNG image rows, processing interlaced and non-interlaced image data with optional filtering. |
| 0x00DCE010 | 55 | png_read_update_info_impl | Initializes PNG read state by starting row processing and applying transformations, preventing duplicate calls. |
| 0x00DCE050 | 21 | set_client_config_value | Sets a 4-byte configuration/state value at offset 0x1c4 in a client structure or object. |
| 0x00DCE070 | 41 | png_read_start_and_validate | Validates PNG read state and initiates row processing if not already started, else warns of duplicate call. |
| 0x00DCE0A0 | 91 | validate_and_set_client_status | Validates client version thresholds and sets status codes in output buffer based on version checks and division validation. |
| 0x00DCE100 | 33 | png_app_warning_or_error | Conditionally calls png_warning or png_error based on PNG error handling flag at offset 0x78 |
| 0x00DCE130 | 33 | png_app_error_or_warning | Routes PNG processing errors/warnings based on flag at offset 0x78; calls png_warning if 0x200000 bit set, else png_error. |
| 0x00DCE160 | 86 | handle_png_warning_or_error | Routes PNG library warnings/errors based on flags; calls chunk_report or formatted_warning for safe mode, error otherwise. |
| 0x00DCE1C0 | 33 | png_benign_error_or_warning | Routes PNG error/warning to formatted handler if benign flag set, else reports as critical chunk error. |
| 0x00DCE1F0 | 56 | png_chunk_error_report | Formats and reports PNG chunk errors by converting floating-point data to ASCII then calling error handler. |
| 0x00DCE230 | 71 | png_handle_benign_error | Routes PNG error handling based on error flag and severity level, delegating to appropriate warning/error callback functions. |
| 0x00DCE280 | 78 | png_formatted_warning | Formats and emits a PNG library warning message, optionally converting floating-point data to ASCII first. |
| 0x00DCE2D0 | 75 | png_default_error | Handles libpng library errors by printing error message to stderr and performing non-local jump to cleanup handler. |
| 0x00DCE320 | 56 | print_libpng_warning | Outputs libpng warning messages to stderr stream via CRT fprintf-like function calls. |
| 0x00DCE360 | 36 | png_error | PNG library error handler that invokes custom error callback if set, otherwise calls default error handler. |
| 0x00DCE390 | 110 | format_png_error_message | Copies input string to buffer with size validation (0xc3 limit), then calls png_error or reports range check failure. |
| 0x00DCE400 | 273 | format_hex_value_with_description | Formats a 32-bit value as hex ASCII with optional description appended (e.g., "[AB][CD]: description text"). |
| 0x00DCE520 | 297 | format_number_to_string | Converts unsigned integer to string representation in decimal/hex/fixed-point format, writing backwards into buffer |
| 0x00DCE660 | 219 | expand_keyword_with_substitutions | Expands keyword string by replacing @N tokens with 32-byte substitution values from lookup table, validates 191-byte limit. |
| 0x00DCE740 | 136 | png_safe_png_free | Safely cleans up PNG decoder state by resetting error handlers and freeing associated memory with exception handling. |
| 0x00DCE7D0 | 17 | get_object_field_at_offset_54 | Returns 4-byte value at offset 0x54 from object pointer, with null pointer safety check. |
| 0x00DCE7F0 | 41 | png_longjmp_or_exit | Attempts longjmp via callback at offset 0x40 with param at 0x44, otherwise calls ExitProcess(0) |
| 0x00DCE820 | 94 | png_image_error | Handles PNG image errors by logging to buffer, setting error flags, and invoking longjmp or aborting process. |
| 0x00DCE880 | 143 | png_safe_execute_setjmp | Executes callback with PNG error handling via setjmp, cleaning up on failure in RO client image loading. |
| 0x00DCE910 | 42 | set_error_message_if_not_set | Sets error message string at offset 0x20 if not already set (checks flag at offset 0x1c). |
| 0x00DCE940 | 61 | png_safecat | Safely concatenates a null-terminated string to a buffer with bounds checking, ensuring null termination. |
| 0x00DCE980 | 30 | png_set_error_handlers | Sets three callback function pointers (error, warning, message handlers) in a PNG structure at fixed offsets. |
| 0x00DCE9A0 | 127 | png_create_info_struct_alloc | Allocates or validates a PNG info structure buffer, managing memory allocation with size tracking and error handling for libpng. |
| 0x00DCEA20 | 90 | png_warning | Handles PNG library warnings by parsing error codes and invoking registered callback or printing default libpng warning message. |
| 0x00DCEA80 | 43 | png_safecat_slot | Validates and safely concatenates data to a slot in a fixed-size array (8 slots of 0x20 bytes each) |
| 0x00DCEAB0 | 98 | format_signed_number_to_string | Converts a signed integer to string representation, handling negative numbers by prepending '-' character. |
| 0x00DCEB20 | 68 | append_formatted_number_to_string | Formats a number to string and appends result to buffer via safecat operation |
| 0x00DCEB70 | 121 | validate_and_apply_gamma_correction | Validates and applies gamma correction to a PNG value within bounds, errors if out of range. |
| 0x00DCEBF0 | 92 | png_convert_indexed_to_grayscale | Converts indexed PNG image (bit depth 16) to 8-bit grayscale by sampling every other byte, updates metadata. |
| 0x00DCEC50 | 4367 | png_do_expand | Expands PNG image data by processing bit-packed pixels, handling transparency and palette expansion per color type. |
| 0x00DCFDB0 | 232 | png_do_encode_alpha | Encodes alpha channel for 8-bit or 16-bit PNG images using palette lookup tables from param_3. |
| 0x00DCFEA0 | 1067 | png_do_expand_palette | Expands PNG palette data from sub-byte bit depths (1/2/4-bit) to 8-bit representation for image processing. |
| 0x00DD02D0 | 75 | png_expand_bit_depth_8to16 | Expands 8-bit PNG image data to 16-bit by duplicating each byte, updates bit depth and scaling metadata. |
| 0x00DD0320 | 621 | png_expand_gray_to_rgb | Expands grayscale PNG data to RGB format by unpacking bit depths and applying palette lookup table |
| 0x00DD0590 | 992 | png_do_read_filler | Expands PNG palette/indexed color data to higher bit depths using a color lookup table (palette expansion with bit depth conversion) |
| 0x00DD0990 | 435 | png_do_expand_gray_to_rgb | Expands grayscale PNG image data to RGB format, handling 8-bit and 16-bit depths with optional alpha channel. |
| 0x00DD0B50 | 366 | png_expand_palette_to_rgb | Expands paletted PNG data to RGB/RGBA by looking up palette indices in a color table |
| 0x00DD0CC0 | 677 | png_expand_scanline | Expands PNG scanline data by inserting filter bytes, handling 8-bit, 16-bit, and 24-bit color depths with MSB/LSB ordering. |
| 0x00DD0F70 | 145 | invert_png_channel_data | Inverts color channels in PNG pixel data based on bit depth (8 or 16-bit) and color type (grayscale or RGBA). |
| 0x00DD1010 | 264 | png_do_expand_palette_row | Expands palette-indexed PNG row data to RGBA/RGB by swapping byte order based on bit depth (8/16-bit) and color type (grayscale/RGB). |
| 0x00DD1120 | 1080 | png_do_read_transformations_2 | Applies PNG read transformations (palette expansion, gray-to-RGB, alpha channel handling, bit depth expansion) |
| 0x00DD1560 | 1031 | png_do_gray_to_rgb | Converts grayscale PNG image data to RGB format with optional palette lookup and color space transformation. |
| 0x00DD1970 | 96 | png_do_chop_16to8 | Converts 16-bit PNG image data to 8-bit by averaging paired bytes with rounding, updates bit depth metadata. |
| 0x00DD19D0 | 359 | png_do_unpack | Unpacks PNG image data from sub-8-bit depths (1, 2, 4-bit) to 8-bit by extracting individual pixel values and expanding them. |
| 0x00DD1B40 | 514 | png_do_unshift | Unshifts PNG image data by applying bit-shift operations based on color type and bit depth parameters. |
| 0x00DD1D70 | 59 | png_gamma_not_equal | Checks if gamma values are unequal by testing if their product ratio exceeds a threshold. |
| 0x00DD1DB0 | 328 | png_invert_palette_colors | Inverts PNG palette RGB colors by subtracting from a reference color value, handles transparency chunks. |
| 0x00DD1F00 | 2769 | png_setup_read_transformations | Initializes PNG read transformations by configuring gamma correction, chromaticity, palette inversion, and color space handling. |
| 0x00DD29E0 | 214 | png_do_gray_tRNS_transform | Applies grayscale tRNS (transparency) chunk transformations to PNG image data, scaling alpha values based on bit depth. |
| 0x00DD2AC0 | 484 | png_read_transform_info | Processes PNG image transformation metadata by applying various filters and adjusting color type, bit depth, and channel configuration. |
| 0x00DD2CB0 | 82 | png_rtran_ok | Validates PNG transformation state; returns 1 if valid for transforms before read_image, 0 otherwise with error logging. |
| 0x00DD2D10 | 41 | png_set_alpha_mode | Applies gamma correction to alpha channel settings by validating gamma value and configuring fixed-point alpha mode parameters. |
| 0x00DD2D40 | 286 | png_set_alpha_mode_fixed | Configures PNG alpha channel processing mode with gamma correction validation and bit flag manipulation on libpng structure. |
| 0x00DD2E70 | 52 | validate_and_set_png_background | Validates coordinate parameter then delegates to png_set_background_fixed for PNG background configuration. |
| 0x00DD2EB0 | 143 | png_set_background_fixed | Configures PNG background color and gamma settings for transparency rendering in the PNG decoder. |
| 0x00DD2F40 | 155 | png_set_crc_action | Configures PNG CRC error handling behavior by setting bitflags at offset 0x78 in png struct based on critical/ancillary and error action parameters. |
| 0x00DD3000 | 32 | png_set_expand | Enables PNG expansion flags (0x2001000) in transform state if read transformations are allowed. |
| 0x00DD3020 | 32 | png_set_expand_16 | Enables 16-bit PNG expansion in libpng by setting transformation flags if read transform is valid. |
| 0x00DD3040 | 32 | png_set_palette_to_rgb | Sets PNG palette-to-RGB transformation flag (0x1000) if read transform is valid for the PNG structure. |
| 0x00DD3060 | 65 | png_set_gamma | Validates and applies gamma correction to PNG image by processing two gamma parameters through fixed-point conversion. |
| 0x00DD30B0 | 102 | png_set_gamma_fixed | Sets gamma correction values for PNG image processing after validation; stores file and screen gamma in PNG structure. |
| 0x00DD3120 | 41 | png_expand_grayscale_low_bit_depth | Enables grayscale expansion for 1/2/4-bit PNG images by setting transform flag 0x4000 after validation. |
| 0x00DD3150 | 32 | png_set_tRNS_to_alpha | Enables tRNS-to-alpha conversion in PNG decoder by setting transformation flags if transparency chunk is valid. |
| 0x00DD3170 | 1887 | png_do_read_transformations | Applies PNG read transformations including palette/gamma correction and Paeth filtering for image decompression. |
| 0x00DD38D0 | 21 | png_set_read_user_transform_fn | Sets a user-defined transform callback function and enables transform flag in PNG read state structure. |
| 0x00DD38F0 | 78 | png_set_rgb_to_gray | Validates and clamps RGB-to-grayscale conversion coefficients, then applies fixed-point conversion. |
| 0x00DD3940 | 240 | png_set_rgb_to_gray_fixed | Configures PNG RGB-to-grayscale conversion with error handling and weighted coefficient validation for image processing. |
| 0x00DD3A40 | 32 | png_set_strip_16 | Sets PNG 16-bit strip transformation flag (0x4000000) if read transform validation succeeds |
| 0x00DD3A60 | 32 | png_set_strip_alpha | Sets PNG alpha channel stripping flag (0x400 bit) in transform state if conditions are met |
| 0x00DD3A80 | 32 | png_set_strip_alpha_no_filler | Sets PNG transformation flag 0x40000 if read transformations are valid for the PNG structure. |
| 0x00DD3AA0 | 32 | png_set_gray_to_rgb | Enables grayscale-to-RGB conversion in PNG image processing by setting transformation flags if conditions are met. |
| 0x00DD3AC0 | 78 | process_gamma_value_or_get_default | Processes gamma parameter values, applies flag modifications, and returns normalized or default gamma constants based on input conditions. |
| 0x00DD3B10 | 214 | png_do_bgr | Swaps R and B channels in PNG image data for 8/16-bit color depths with RGB/RGBA formats. |
| 0x00DD3BF0 | 354 | png_do_check_palette_indexes | Validates palette indices in PNG image data by bit-depth, tracking maximum index value encountered across pixel data. |
| 0x00DD3D80 | 197 | png_do_invert | Inverts PNG image data bits with format-specific handling for 8-bit, 4-bit, and 16-bit color depths using SIMD-style 64-bit operations. |
| 0x00DD3E50 | 102 | png_apply_palette_lookup | Applies palette lookup table to PNG pixel data based on bit depth (1, 2, or 4-bit), converting indexed colors to 8-bit values. |
| 0x00DD3EC0 | 399 | png_do_strip_channel | Removes alpha channel from PNG image data, converting RGBA/GA to RGB/G or vice versa based on bit depth. |
| 0x00DD4050 | 54 | png_do_swap | Swaps adjacent bytes in image data when bit depth is 16-bit, used for PNG endianness conversion during image processing. |
| 0x00DD4090 | 22 | png_get_interlace_type | Retrieves PNG interlace type field from image info struct; returns 8 (error) if struct pointer is null. |
| 0x00DD40B0 | 23 | png_get_rowbytes | Retrieves rowbytes field (offset 0x118) from PNG structure, returns -1 if null pointer |
| 0x00DD40D0 | 17 | GetStructFieldAt0x6C | Returns a 4-byte value from offset 0x6C of a structure, with null pointer safety check. |
| 0x00DD40F0 | 47 | png_set_add_alpha | Wrapper around png_set_filler that adds alpha channel and sets PNG transformation flags for alpha channel handling. |
| 0x00DD4120 | 16 | set_flag_at_offset_7c | Sets bit 0 of a 32-bit flag field at offset 0x7c within a structure (likely PNG state). |
| 0x00DD4130 | 146 | png_set_filler | Configures PNG filler byte settings for image output, validating color type and bit depth constraints. |
| 0x00DD41D0 | 37 | set_client_flag_if_interlaced | Sets flag 0x2 at offset 0x7c if structure at param_1 has interlace data at offset 0x150 |
| 0x00DD4200 | 19 | png_set_invert_mono | Sets a PNG invert monochrome flag (0x80000) in the PNG struct's transformation flags at offset 0x7c. |
| 0x00DD4220 | 16 | png_set_swap | Sets a flag bit (0x20) in a PNG structure's state field at offset 0x7c to enable byte swapping. |
| 0x00DD4230 | 32 | enable_png_transform_packswap | Enables PNG bit-packing transformation if color depth < 8 bits by setting transform flag at offset 0x7c. |
| 0x00DD4250 | 28 | set_color_shift_flag | Sets a color shift/processing flag (0x10000) if color depth is less than 8 bits per channel. |
| 0x00DD4270 | 36 | png_set_sBIT | Sets significant bit (sBIT) chunk data in PNG structure by updating flags and copying color bit depth information |
| 0x00DD42A0 | 25 | png_set_swap_16 | Sets a 16-bit swap flag in PNG structure when conditions are met; enables byte-order conversion for 16-bit PNG data. |
| 0x00DD42C0 | 19 | png_set_bgr | Sets BGR color mode flag (0x20000) in PNG structure at offset 0x7c when param is non-null |
| 0x00DD42E0 | 61 | png_set_user_limits | Sets PNG image dimension limits (width, height, palette size) with validation to prevent modifications after reading starts. |
| 0x00DD4320 | 49 | png_default_read_data | Reads PNG data from file stream; errors if read size mismatches expected bytes |
| 0x00DD4360 | 30 | png_read_data | Calls PNG read callback function stored at offset 0x5c, or triggers error if callback is NULL |
| 0x00DD4380 | 73 | png_set_read_fn | Configures PNG read callback function and user data pointer; validates no simultaneous read/write operations. |
| 0x00DD43D0 | 26 | calculate_damage_multiplier | Calculates damage multiplier by dividing param_1 by param_2, scaling result by 500 with max value 0x7f (127). |
| 0x00DD43F0 | 166 | png_get_IHDR | Extracts PNG IHDR chunk fields (width, height, bit depth, color type, compression, filter, interlace) and validates them. |
| 0x00DD44A0 | 54 | png_get_PLTE | Retrieves PNG palette (PLTE chunk) data from a PNG structure, returning pointer and color count if valid. |
| 0x00DD44E0 | 47 | png_get_tRNS | Extracts transparency chunk (tRNS) data from PNG structure; returns chunk size 0x20 if present and valid, else 0. |
| 0x00DD4510 | 25 | get_png_filter_type | Retrieves PNG filter type byte from image info structure at offset 0x18 if both pointers are valid. |
| 0x00DD4530 | 245 | png_get_cHRM | Extracts PNG cHRM (primary chromaticities and white point) chunk data, converting 32-bit integers to doubles via scaling factor. |
| 0x00DD4630 | 269 | png_get_cHRM_XYZ | Extracts chromaticity and luminance XYZ values from PNG chunk, scaling by constant factor if chunk flag is set. |
| 0x00DD4740 | 145 | png_get_cHRM_XYZ_fixed | Extracts PNG cHRM (chromaticity) and XYZ color space data from image metadata structure if available. |
| 0x00DD47E0 | 129 | png_get_cHRM_fixed | Extracts PNG cHRM (chromaticity) chunk fixed-point color values from parsed PNG structure if chunk exists. |
| 0x00DD4870 | 25 | png_get_channels | Retrieves the number of channels from a PNG structure at offset 0x1d when both parameters are valid. |
| 0x00DD4890 | 22 | GetStructFieldAt0x284 | Retrieves a 4-byte value from offset 0x284 within a structure; likely related to PNG or image width limits but context insufficient for precise naming. |
| 0x00DD48B0 | 22 | get_struct_field_at_offset_0x288 | Dereferences offset 0x288 from a pointer; likely retrieves a field from a game data structure. |
| 0x00DD48D0 | 25 | get_color_type_from_struct | Retrieves color type field (offset 0x19) from a structure if both pointers are non-null, else returns 0 |
| 0x00DD48F0 | 37 | get_struct_field_conditional | Returns field value from param_1 struct at offset 0x2ac or 0xc0 based on bit flag at offset 0x74 |
| 0x00DD4920 | 25 | get_struct_byte_at_offset_26 | Returns byte at offset 0x1a (26) from a structure, with null pointer validation for both parameters. |
| 0x00DD4940 | 23 | png_get_eXIf | Deprecated wrapper that warns callers to use png_get_eXIf_1 instead; returns 0. |
| 0x00DD4960 | 65 | png_extract_exif_data | Extracts EXIF metadata pointers from PNG structure if eXIf chunk flag is set, returns chunk size or zero. |
| 0x00DD49B0 | 25 | get_png_interlace_method | Retrieves interlace method byte from PNG info structure at offset 0x1b if both pointers are valid. |
| 0x00DD49D0 | 61 | png_get_gAMA | Extracts gamma correction value from PNG chunk data; returns 1 if valid chunk exists, 0 otherwise |
| 0x00DD4A10 | 45 | png_get_gAMA_fixed | Retrieves gamma correction value from PNG metadata if present; validates chunk flag and returns fixed-point gamma or 0. |
| 0x00DD4A40 | 48 | png_get_hIST | Retrieves histogram (hIST) chunk data from PNG metadata if present; returns 0x40 flag or 0 if unavailable. |
| 0x00DD4A70 | 118 | png_get_iCCP | Extracts ICC color profile metadata from PNG chunk, returns profile name/data and compression method flag. |
| 0x00DD4AF0 | 25 | get_struct_field_at_offset_4 | Returns 4-byte value at offset +4 from param_2 if both params are non-null, else 0 |
| 0x00DD4B10 | 24 | get_png_width | Returns width value from PNG info struct if both pointers valid, else returns 0 |
| 0x00DD4B30 | 25 | get_struct_byte_at_offset_0x1c | Returns byte at offset 0x1c from second parameter if both parameters are non-null, else returns 0. |
| 0x00DD4B50 | 14 | get_io_state | Retrieves IO state value from offset 0x11c within a structure, likely a file or stream handler context object. |
| 0x00DD4B60 | 14 | get_io_state_chunk_type | Retrieves chunk type field from IO state structure at offset 0x2b0. |
| 0x00DD4B70 | 88 | png_get_oFFs | Extracts PNG offset metadata (oFFs chunk) from PNG structure, returning X/Y offsets and unit type if present. |
| 0x00DD4BD0 | 166 | png_get_pCAL | Extracts PNG pCAL (pixel calibration) chunk data from image structure if present, returning validation flag. |
| 0x00DD4C80 | 86 | png_get_pHYs | Extracts physical pixel dimensions (pHYs chunk) from PNG metadata structure; returns 0x80 if data present. |
| 0x00DD4CE0 | 225 | png_get_pHYs_dpi | Extracts physical pixel dimensions (pHYs chunk) from PNG metadata, converting units based on flag and returning DPI values. |
| 0x00DD4DD0 | 29 | get_palette_entry_count | Retrieves palette entry count from offset 0x148 in image/texture struct; returns -1 if invalid pointers |
| 0x00DD4DF0 | 102 | get_aspd_ratio_from_job_table | Retrieves ASPD multiplier ratio from job table at offset 0xc4/0xc0, used for attack speed calculations |
| 0x00DD4E60 | 89 | png_get_pixel_aspect_ratio_fixed | Computes pixel aspect ratio from PNG phys chunk data, returns scaled ratio or 0 on failure/invalid data. |
| 0x00DD4EC0 | 25 | png_get_pixels_per_meter_dpi | Retrieves PNG horizontal pixels-per-meter and converts the value to DPI (dots per inch). |
| 0x00DD4EE0 | 49 | validate_png_phys_chunk | Validates PNG physical pixel dimensions chunk (pHYs) - checks if X/Y resolutions match and chunk is present. |
| 0x00DD4F20 | 22 | png_get_rgb_to_gray_status | Returns RGB-to-grayscale conversion status flag from PNG info structure at offset 0x24c, or 0 if null pointer. |
| 0x00DD4F40 | 25 | get_struct_field_at_offset_12 | Returns a 4-byte value from offset 0xc in a structure; validates both pointers before dereferencing. |
| 0x00DD4F60 | 28 | get_png_height | Returns PNG image height from metadata structure at offset 0x114 if both pointers are valid. |
| 0x00DD4F80 | 47 | png_get_sBIT | Retrieves PNG significant bits (sBIT) chunk data if present; returns 2 on success with pointer to chunk at offset 0x94, else 0. |
| 0x00DD4FB0 | 86 | png_get_sCAL | Extracts PNG sCAL chunk data (physical scale unit and X/Y dimensions) from PNG info structure into output parameters. |
| 0x00DD5010 | 123 | png_get_sCAL_fixed | Extracts and validates PNG sCAL chunk (physical pixel dimensions) from PNG metadata, converting string values to fixed-point coordinates. |
| 0x00DD5090 | 70 | png_get_sCAL_s | Retrieves PNG sCAL (physical scale) chunk data if present; returns 0x4000 flag on success, 0 on failure |
| 0x00DD50E0 | 43 | png_get_sPLT | Retrieves sPLT (Suggested Palette) chunk data from PNG info structure at fixed offsets 0x100-0x104. |
| 0x00DD5110 | 49 | png_get_sRGB | Extracts sRGB rendering intent from PNG chunk if flag 0x800 is set, returns intent value or 0 |
| 0x00DD5150 | 25 | calculate_buffer_offset | Returns offset into buffer (param_2 + 0x20) if both params are non-null, else 0. Likely helper for data structure access. |
| 0x00DD5170 | 50 | get_image_metadata_timestamp | Extracts PNG tIME chunk (timestamp metadata) from image structure if present; returns flag 0x200 on success. |
| 0x00DD51B0 | 130 | png_get_tRNS_info | Extracts PNG tRNS (transparency) chunk info: palette/alpha data pointer and num transparent colors. |
| 0x00DD5240 | 71 | png_read_text | Retrieves PNG text metadata chunk from parsed PNG data structure at offset 0x80-0x88, returns chunk size |
| 0x00DD5290 | 43 | png_get_unknown_chunks | Retrieves PNG chunk data pointers from a PNG info structure at offsets 0xf8 and 0xfc with null validation. |
| 0x00DD52C0 | 22 | get_png_struct_chunk_malloc_max | Retrieves chunk_malloc_max field from png_struct at offset 0x238; validates pointer before access. |
| 0x00DD52E0 | 22 | get_compression_buffer_size | Returns compression buffer size from offset 0x280 in a structure, or 0 if pointer is null. |
| 0x00DD5300 | 22 | png_get_header_ver_ptr | Retrieves PNG header version pointer from structure at offset 0x27c; returns 0 if input is null. |
| 0x00DD5320 | 28 | png_get_valid | Validates PNG chunk types by checking validity flags at offset +8 against requested param_3 bitmask. |
| 0x00DD5340 | 50 | png_get_x_offset_inches | Converts X offset from microns to inches by multiplying micron value by global conversion constant. |
| 0x00DD5380 | 26 | apply_damage_multiplier_wrapper | Calls png_get_x_offset_microns then applies damage multiplier calculation; likely game logic hook disguised as PNG utility. |
| 0x00DD53A0 | 46 | get_phys_offset_x_if_valid | Returns physical X offset (in microns) from structure at param_2 if validation flags are set, else 0 |
| 0x00DD53D0 | 46 | get_sprite_x_offset_if_valid | Returns X offset from sprite/image structure if validation flags are set and offset is initialized. |
| 0x00DD5400 | 25 | png_get_x_pixels_per_inch | Converts X pixels per meter to DPI by calling png_get_x_pixels_per_meter then png_pixels_per_meter_to_dpi. |
| 0x00DD5420 | 43 | png_get_x_pixels_per_meter | Retrieves X-axis pixels-per-meter DPI value from PNG metadata struct if valid flag and unit-type indicators are set. |
| 0x00DD5450 | 50 | png_get_y_offset_inches | Converts Y offset from microns to inches by multiplying micron value by conversion constant. |
| 0x00DD5490 | 26 | apply_damage_multiplier_after_png_offset | Calls png_get_y_offset_microns then applies damage multiplier calculation; likely game logic hook disguised in PNG utility function. |
| 0x00DD54B0 | 46 | get_y_offset_if_valid | Returns Y offset value (in microns) from structure at param_2 if validation flags at offsets 0x8 and 0xbc are set |
| 0x00DD54E0 | 46 | get_sprite_y_offset | Returns Y-pixel offset from sprite/texture metadata if valid flag is set and offset is initialized. |
| 0x00DD5510 | 25 | png_get_y_pixels_per_inch | Converts PNG image Y-axis pixels per meter to DPI (dots per inch) for display resolution. |
| 0x00DD5530 | 43 | get_phys_property_if_valid | Retrieves physical property (offset 0xc4) from validated game object if flags/state checks pass. |
| 0x00DD5560 | 46 | png_pixels_per_meter_to_dpi | Converts pixels per meter to DPI using fixed-point multiplication (param * 0x7f / 5000), returns 0 on overflow. |
| 0x00DD55A0 | 75 | png_image_write_to_memory_cb | Writes PNG image data to memory buffer with size validation; triggers error if output exceeds allocated capacity. |
| 0x00DD5650 | 31 | png_create_write_struct | Wrapper that delegates PNG write structure creation to png_create_write_struct_2 with additional null parameters. |
| 0x00DD5670 | 180 | png_create_write_struct_2 | Initializes PNG write structure with default compression/filter settings and warning handler |
| 0x00DD5730 | 52 | png_destroy_write_struct | Destroys PNG write structure by cleaning up info struct, write state, and PNG struct memory. |
| 0x00DD5770 | 210 | png_do_write_intrapixel | Performs PNG intrapixel filtering (inverse) on image data for 8/16-bit grayscale or RGB color types. |
| 0x00DD5850 | 996 | png_image_read_colormap | Converts PNG image palette data to internal colormap format with gamma correction and transparency handling. |
| 0x00DD5CF0 | 158 | png_image_write_init | Initializes PNG write structure with error handling, allocates metadata buffer, and returns success/failure status. |
| 0x00DD5D90 | 909 | png_image_write_setup | Initializes PNG image write parameters, validates dimensions/strides, sets IHDR chunk, handles color mapping and sRGB flags. |
| 0x00DD6120 | 41 | png_image_write_to_memory_run | Configures PNG image writing to memory buffer with warning handler and initiates setup process. |
| 0x00DD6150 | 293 | png_image_write_to_file | Writes PNG image data to file with error handling; validates version, opens file, delegates to stdio writer, verifies flush/close. |
| 0x00DD6280 | 242 | png_image_write_to_memory | Validates PNG image parameters and initiates memory-based PNG encoding with error handling and buffer size tracking. |
| 0x00DD6380 | 192 | png_image_write_to_stdio | Writes PNG image data to a FILE stream with validation, initialization, and error handling via setjmp. |
| 0x00DD6440 | 21 | set_struct_compression_level | Sets compression level field at offset 0xc4 in a data structure, likely a PNG encoder context or image processing state. |
| 0x00DD6460 | 21 | png_set_compression_mem_level | Sets compression memory level in PNG structure at offset 0xd0 after null pointer validation. |
| 0x00DD6480 | 44 | png_set_compression_method | Sets PNG compression method field in structure, validates method 8 is used, warns if unsupported method specified. |
| 0x00DD64B0 | 25 | ragexe_set_png_compression_strategy | Sets PNG compression strategy flag at offset 0xd4 in game resource/texture compression config struct. |
| 0x00DD64D0 | 80 | png_set_compression_window_bits | Validates and sets PNG compression window bits parameter (8-15) in png_struct at offset 0xcc with bounds checking. |
| 0x00DD6520 | 355 | png_set_filter | Configures PNG filter method and types for image encoding, allocating buffers for filtered row data during compression. |
| 0x00DD66D0 | 28 | set_int_field_at_offset_0x180 | Sets a 32-bit integer field at offset 0x180 in a structure, clamping negative values to 0. |
| 0x00DD66F0 | 21 | set_struct_field_at_offset_0xd8 | Sets a 4-byte field at offset 0xd8 in a structure, likely a compression level or configuration value. |
| 0x00DD6710 | 21 | set_game_state_value | Sets a 4-byte value at offset 0xe4 in a game state/config structure, likely compression or client setting parameter. |
| 0x00DD6730 | 44 | png_set_text_compression_method | Sets PNG text compression method field (offset 0xdc) with validation that only method 8 is supported. |
| 0x00DD6760 | 21 | set_struct_field_at_offset_0xe8 | Sets a 4-byte value at offset 0xe8 in a structure; purpose unclear without context of param_1 type |
| 0x00DD6780 | 80 | png_set_text_compression_window_bits | Validates and sets PNG compression window size (8-15 bits) in png_struct at offset 0xe0 |
| 0x00DD67D0 | 21 | png_set_write_status_fn | Sets a write status callback function pointer at offset 0x1c8 in a PNG structure |
| 0x00DD67F0 | 25 | set_transform_callback | Sets a user-defined transform callback function and enables transform flag (0x100000) on PNG write context structure. |
| 0x00DD6810 | 96 | apply_gamma_correction_8bit | Applies gamma correction to 8-bit color values using lookup tables for smooth tonal mapping. |
| 0x00DD6870 | 157 | png_write_destroy | Destroys PNG write context by freeing compression state, buffer lists, and allocated memory structures. |
| 0x00DD6910 | 355 | png_write_end | Finalizes PNG file writing by validating IDATs, writing text/metadata chunks, and appending IEND chunk. |
| 0x00DD6A80 | 59 | png_write_flush | Flushes PNG IDAT compression buffer when output buffer reaches threshold, resets flush flag, and triggers output callback. |
| 0x00DD6AC0 | 89 | png_write_image | Writes PNG image data row-by-row, handling interlaced format by iterating through passes and writing each row. |
| 0x00DD6B20 | 338 | png_image_write_rows_16bit | Writes 16-bit PNG image rows with alpha channel blending and scaling normalization. |
| 0x00DD6C80 | 455 | png_image_write_rows_8bit | Writes PNG image rows with 8-bit gamma correction; handles both standard and alpha channel formats with lookup table scaling. |
| 0x00DD71A0 | 326 | png_write_info_before_PLTE | Writes PNG image header and color profile chunks before palette data in Ragnarok client image processing. |
| 0x00DD72F0 | 290 | png_write_png | Configures PNG write transforms (swap, filler, BGR, invert, etc.) then writes image data and end chunk to PNG file. |
| 0x00DD76C0 | 47 | png_write_rows | Writes multiple PNG image rows by iterating through an array and calling png_write_row for each row. |
| 0x00DD76F0 | 163 | png_write_unknown_chunks | Iterates unknown PNG chunks and writes those matching filter criteria to output, with zero-length validation. |
| 0x00DD77A0 | 43 | png_calloc | Allocates and zeroes memory by calling png_malloc_base then memset to clear allocated buffer. |
| 0x00DD77D0 | 102 | png_destroy_png_struct | Safely destroys PNG struct by copying to stack buffer, zeroing original, then freeing resources via png_free wrappers. |
| 0x00DD7840 | 77 | png_free | Allocator wrapper that frees memory using custom deallocator at offset 0x264 or falls back to free() |
| 0x00DD78A0 | 20 | get_object_field_at_offset_0x25c | Returns a pointer-sized value from offset 0x25c within an object/structure, or 0 if object is null. |
| 0x00DD78C0 | 43 | png_malloc_base | Allocates memory with error handling; returns allocated pointer or triggers fatal error if allocation fails. |
| 0x00DD78F0 | 42 | png_malloc_array | Validates array allocation parameters (positive count and non-zero size), delegates to checked allocation or raises PNG error. |
| 0x00DD7920 | 40 | png_malloc_array_checked | Safely allocates memory for an array by checking multiplication overflow before calling png_malloc. |
| 0x00DD7950 | 51 | png_malloc | Allocates memory via custom allocator callback at offset 0x260 if available, otherwise uses standard malloc |
| 0x00DD7990 | 43 | png_malloc_default | Allocates memory with error handling; calls png_malloc and terminates with error message if allocation fails. |
| 0x00DD79C0 | 46 | png_malloc_warn | Allocates memory with fallback warning; returns pointer or NULL if allocation fails after issuing warning message. |
| 0x00DD79F0 | 144 | png_realloc_array | Reallocates PNG memory array with bounds checking, copies old data, zeros new region, or errors on invalid params |
| 0x00DD7A90 | 39 | png_set_mem_fn | Sets custom memory allocation function pointers (malloc, free, realloc) for PNG library context at offsets 0x25c-0x264. |
| 0x00DD7AC0 | 119 | zlib_deflate_window_size_adjust | Adjusts zlib deflate window size in CMF byte to match data size, recalculates checksum bits. |
| 0x00DD7B40 | 525 | png_compress_IDAT | Compresses image data into PNG IDAT chunks using zlib deflate with buffer management and chunk writing |
| 0x00DD7D50 | 585 | png_zlib_claim | Allocates/initializes zlib deflate stream for PNG chunk compression, validates chunk type and zstream state |
| 0x00DD7FA0 | 565 | png_unfilter_row | Unpacks PNG pixel data from filtered row format into output buffer based on bit depth (1/2/4/8-bit). |
| 0x00DD81E0 | 45 | png_free_buffer_list | Frees a linked list of buffers by traversing nodes and deallocating each with png_free(). |
| 0x00DD8210 | 339 | calculate_mipmap_data_size | Calculates total buffer size needed for mipmapped texture data with variable bit depth and optional compression. |
| 0x00DD8370 | 21 | write_big_endian_u16 | Writes a 16-bit unsigned integer in big-endian byte order (high byte first, low byte second). |
| 0x00DD8390 | 37 | write_u32_big_endian | Writes a 32-bit unsigned integer in big-endian byte order to a buffer (4 consecutive bytes). |
| 0x00DD83C0 | 219 | compute_png_filter_sum | Computes sum of absolute differences for PNG Sub filter (current vs previous pixel) for compression analysis |
| 0x00DD84A0 | 505 | process_pixel_filter_or_decode | Processes pixel data with filtering/decoding operations on image buffers using byte-level arithmetic and memory comparisons. |
| 0x00DD86A0 | 293 | calculate_paeth_predictor_cost | Calculates PNG Paeth predictor filter cost by comparing pixel differences using absolute value estimation for filter selection optimization. |
| 0x00DD87D0 | 358 | process_scanline_data | Processes PNG scanline data with filtering/compression logic for image encoding in the game client |
| 0x00DD8940 | 151 | calculate_checksum_with_filtering | Calculates checksum of pixel data with optional delta filtering, accumulating absolute byte differences for validation. |
| 0x00DD89E0 | 279 | png_write_info | Copies data from source to destination buffer in 64-byte chunks with overlap checking; appears to be optimized memory copy routine. |
| 0x00DD8B00 | 105 | calculate_scanline_filter_sum | Calculates sum of absolute differences between filtered and original scanline bytes, used in PNG filter selection optimization. |
| 0x00DD8B70 | 215 | png_filter_scanline_sub | Applies PNG sub filter to scanline data by computing differences between pixels and their left neighbors |
| 0x00DD8C50 | 389 | png_text_compress | Compresses PNG text data using zlib deflate with chunked buffer management and validation. |
| 0x00DD8DE0 | 26 | write_chunk_data | Writes chunk metadata to buffer: stores chunk type and size, then initializes CRC field to zero. |
| 0x00DD8E00 | 32 | png_write_IEND | Writes PNG IEND chunk (image end marker) and sets completion flag in PNG structure at offset 0x74 |
| 0x00DD8E20 | 645 | png_write_IHDR | Validates and stores PNG image header parameters (color type, bit depth, compression, filter, interlace) in structure. |
| 0x00DD90F0 | 194 | png_write_PLTE | Writes PNG PLTE (palette) chunk with color data; validates palette size against color type and bit depth constraints. |
| 0x00DD91C0 | 338 | png_write_bkgd_chunk | Writes PNG background color (bKGD) chunk with validation for palette index, grayscale, or RGB data. |
| 0x00DD9320 | 158 | png_write_cHRM_fixed | Writes PNG cHRM (chromaticity) chunk with 8 fixed-point color space primaries in big-endian format. |
| 0x00DD93C0 | 45 | png_write_chunk | Wrapper that delegates to png_write_complete_chunk_data to finalize PNG chunk writing |
| 0x00DD93F0 | 51 | png_write_chunk_body | Writes PNG chunk body data and updates Adler-32 checksum if all parameters are valid. |
| 0x00DD9430 | 54 | finalize_png_chunk_crc | Finalizes PNG chunk by writing computed CRC checksum (offset 0x13c) in big-endian format via write callback |
| 0x00DD9470 | 125 | png_write_chunk_start | Writes PNG chunk header with length and type, updates Adler-32 checksum for PNG data integrity validation. |
| 0x00DD94F0 | 45 | png_write_chunk_start_end | Wrapper function that calls png_write_chunk_start; appears to be unused boilerplate or dead code |
| 0x00DD9520 | 67 | png_write_complete_chunk_data | Writes a complete PNG chunk (header, data, CRC) with length validation against PNG spec limit. |
| 0x00DD9570 | 96 | png_write_ancillary_compressed_chunk | Writes PNG ancillary compressed chunk data in 1KB blocks with linked buffer chain traversal. |
| 0x00DD95E0 | 76 | png_write_iexts_chunk | Writes PNG iEXts (international text) chunk with byte-by-byte body data and CRC finalization. |
| 0x00DD9630 | 100 | png_write_filtered_row_flush | Compresses PNG row data, applies filtering, increments row counter, and flushes if row limit reached. |
| 0x00DD96A0 | 540 | apply_png_scanline_filters | Applies various PNG filter algorithms (Sub, Up, Average, Paeth) to scanline data and writes filtered row. |
| 0x00DD98C0 | 315 | png_write_process_interlace_pass | Processes PNG interlace passes, manages buffer allocation/clearing, and compresses IDAT chunks when pass complete. |
| 0x00DD9A00 | 42 | png_write_gAMA_data | Writes PNG gAMA (gamma) chunk with 32-bit big-endian gamma value to PNG file structure. |
| 0x00DD9A30 | 116 | png_write_oFFs | Writes PNG histogram (hIST) chunk with frequency data for indexed color palette entries. |
| 0x00DD9AB0 | 305 | png_write_zTXt | Writes PNG iCCP (ICC Color Profile) chunk with keyword validation, compression, and CRC finalization. |
| 0x00DD9BF0 | 601 | png_write_iTXt | Writes PNG iTXt (international text) chunk with optional zlib compression, validating keyword and handling text data serialization. |
| 0x00DD9E60 | 106 | png_write_sCAL | Writes PNG oFFs (image offset) chunk with X/Y pixel offsets and unit type specification. |
| 0x00DD9ED0 | 408 | png_write_pCAL | Writes PNG pCAL (calibration) chunk with equation type, parameters, units and calibration strings. |
| 0x00DDA0E0 | 204 | png_write_sBIT_chunk | Validates and writes PNG sBIT (significant bits) chunk with color/alpha depth values to image data. |
| 0x00DDA1B0 | 189 | png_write_bKGD | Writes PNG sCAL (physical scale) chunk with unit and value strings; validates buffer capacity before write. |
| 0x00DDA270 | 337 | png_write_sPLT | Writes PNG sPLT (suggested palette) chunk with keyword validation and endian-aware palette entry serialization. |
| 0x00DDA3D0 | 56 | png_write_sRGB_chunk | Writes PNG sRGB rendering intent chunk (0x73524742='sRGB') with validation of intent parameter. |
| 0x00DDA410 | 105 | png_write_png_signature | Writes PNG file signature (0x89504E47 0x0D0A1A0A) and sets chunk type to 0x12, manages write buffer offset. |
| 0x00DDA480 | 326 | png_write_alloc_row_buffers | Allocates and initializes PNG row buffers for writing, calculating stride and configuring filter/transformation buffers. |
| 0x00DDA5D0 | 187 | png_write_tEXt_chunk | Writes a PNG tEXt chunk with keyword validation, length checking, and CRC finalization for text metadata. |
| 0x00DDA690 | 164 | png_write_hIST | Validates and writes a PNG tIME chunk with year/month/day/hour/minute/second timestamp data. |
| 0x00DDA740 | 319 | png_write_tEXt | Writes PNG tRNS (transparency) chunk with validation for color type, bit depth, and transparency data range. |
| 0x00DDA880 | 287 | png_write_tEXt_or_zTXt | Writes compressed zTXt chunk to PNG with keyword validation and text compression for metadata storage. |
| 0x00DDA9A0 | 67 | find_or_add_chunk_entry | Searches array for matching chunk identifier; returns existing index or appends new entry with metadata. |
| 0x00DDA9F0 | 93 | png_validate_and_isolate_chunk_location | Validates PNG chunk location flags and isolates single bit; errors if invalid/zero, returns highest set bit. |
| 0x00DDAA50 | 306 | png_check_keyword | Validates and sanitizes PNG keyword strings by filtering control chars, normalizing whitespace, and reporting invalid character codes. |
| 0x00DDAB90 | 28 | png_set_filter_mode | Sets PNG filter mode by storing masked parameter (0x5) at offset 0x254 in structure; validates non-null pointer. |
| 0x00DDABB0 | 192 | png_write_set_IHDR | Initializes PNG IHDR chunk with image dimensions, color type, bit depth, and calculates scanline byte width. |
| 0x00DDAC70 | 227 | set_palette_data | Sets PNG palette data, allocates memory, validates palette length against bit depth, updates PNG chunk flags. |
| 0x00DDAD60 | 52 | apply_srgb_profile_to_png_struct | Applies sRGB color profile data to PNG structure at offsets 0xaa/0xb2, sets color profile flag at offset 0x8. |
| 0x00DDADA0 | 34 | png_set_benign_error_flags | Sets or clears error flag bits (0x700000 mask) in a PNG structure at offset 0x78 based on param_2 |
| 0x00DDADD0 | 246 | validate_png_chrm_chunk | Validates PNG cHRM (chromaticity) chunk coordinates (white, red, green, blue points) before reading signature. |
| 0x00DDAED0 | 274 | png_write_cHRM_chunk | Validates and writes PNG cHRM (chromaticity) chunk with RGB color space coordinates |
| 0x00DDAFF0 | 140 | png_write_sig_bytes | Writes PNG cHRM (primary chromaticities) chunk; calls handler, sets flag 0x10 on param_2+0x72, processes chunk flags |
| 0x00DDB080 | 134 | process_png_cHRM_chunk | Processes PNG cHRM (chromaticity) chunk data, sets flag 0x10 if valid, then processes chunk flags. |
| 0x00DDB110 | 23 | set_bool_flag | Sets a boolean flag at offset 0x148 to true if param_2 > 0, false otherwise using (0 < param_2) - 1 |
| 0x00DDB130 | 21 | set_struct_field_at_offset_0x284 | Sets a 4-byte field at offset 0x284 in a structure, with null pointer validation. |
| 0x00DDB150 | 21 | set_struct_field_at_offset_0x288 | Sets a 4-byte value at offset 0x288 in a structure, with null pointer check. |
| 0x00DDB170 | 141 | png_set_compression_buffer_size | Sets PNG compression buffer size with validation; prevents changes during active compression operations. |
| 0x00DDB200 | 21 | png_set_eXIf_deprecated_warning | Emits a deprecation warning advising users to use png_set_eXIf_1 instead of png_set_eXIf |
| 0x00DDB220 | 155 | png_set_eXIf_chunk_data | Allocates and copies eXIf chunk data into PNG info structure with memory validation and flag updates. |
| 0x00DDB2C0 | 46 | png_image_set_sRGB_with_validation | Validates and clamps coordinate parameter before applying sRGB color space setting to PNG image. |
| 0x00DDB2F0 | 46 | png_image_set_sRGB | Validates and processes sRGB color space metadata chunk in PNG image, handling color profile flags. |
| 0x00DDB320 | 168 | png_set_hist_chunk | Allocates and copies histogram (hIST) chunk data for PNG palette, validates palette size <257. |
| 0x00DDB3D0 | 302 | png_set_iCCP | Processes and stores PNG iCCP (ICC Color Profile) chunk data with memory allocation and validation checks. |
| 0x00DDB500 | 26 | clear_flags | Clears specified flag bits from a 32-bit flags field at offset +8 in a structure using bitwise AND with negated mask. |
| 0x00DDB520 | 407 | png_set_keep_unknown_chunks | Configures PNG chunk filtering by managing a list of unknown chunk types and their keep/discard behavior flags. |
| 0x00DDB6C0 | 52 | set_png_write_filter_params | Sets PNG write filter parameters (type and dimensions) in a PNG encoder state structure at fixed offsets. |
| 0x00DDB700 | 616 | png_set_pCAL | Sets PNG pCAL chunk (calibration of pixel values) with equation type, parameters, and unit name validation. |
| 0x00DDB970 | 52 | set_png_write_parameters | Sets PNG write parameters (compression, filter type, bit depth) on a PNG encoder state structure at specified offsets. |
| 0x00DDB9B0 | 30 | png_set_user_limits_wh | Sets maximum width and height limits on a PNG structure at fixed offsets (0x238 and 0x23c). |
| 0x00DDB9D0 | 71 | png_free_unknown_chunks | Manages PNG unknown chunk memory allocation state by freeing prior chunks and updating chunk tracking flags at offset 0x114. |
| 0x00DDBA20 | 46 | png_set_pHYs_data | Sets PNG physical pixel dimensions (pHYs chunk) by copying resolution data and unit type to image structure. |
| 0x00DDBA50 | 194 | png_write_pHYs_chunk | Writes PNG physical pixel dimensions chunk (pHYs) by converting X/Y DPI to ASCII and compressing output data. |
| 0x00DDBB20 | 162 | png_write_sCAL_chunk | Writes PNG sCAL (physical scale) chunk with validated width/height parameters converted to fixed-point strings. |
| 0x00DDBBD0 | 370 | png_set_scal_chunk | Validates and sets PNG sCAL (scaling) chunk data with width/height physical pixel dimensions and unit type. |
| 0x00DDBD50 | 367 | png_set_sPLT_chunks | Allocates and copies multiple sPLT (suggested palette) chunk data into PNG structure with validation and memory management. |
| 0x00DDBEC0 | 46 | png_setup_srgb_and_process_flags | Sets sRGB color space and processes chunk flags for PNG image data structure at offset 0x28. |
| 0x00DDBEF0 | 58 | png_apply_srgb_and_process_chunk | Applies sRGB color space to PNG chunk and sets flags, then processes chunk metadata. |
| 0x00DDBF30 | 120 | png_write_validate_and_set_time | Validates PNG time metadata fields and sets time values in output structure if valid, warns on invalid input. |
| 0x00DDBFB0 | 260 | png_set_tRNS | Sets PNG transparency (tRNS) chunk data with validation of sample values against bit depth limits. |
| 0x00DDC0C0 | 42 | png_write_chunk_data_or_error | Writes PNG chunk data; calls error handler if memory allocation fails during text storage. |
| 0x00DDC0F0 | 768 | png_write_text_chunk | Writes PNG text metadata chunks with dynamic buffer reallocation and string length validation for keyword/text/language fields. |
| 0x00DDC3F0 | 104 | png_write_check_info | Validates PNG chunk location flags and stores sanitized chunk location data in image metadata structure at offset 0xf8. |
| 0x00DDC460 | 284 | png_write_row_alloc_data | Allocates and initializes PNG chunk metadata storage, copying chunk data into reallocated array structures for write operations. |
| 0x00DDC580 | 30 | png_set_user_chunk_limits | Sets chunk size limits at offsets 0x27c and 0x280 in a PNG handler structure for memory management. |
| 0x00DDC5A0 | 237 | png_read_unknown_chunk | Reads PNG unknown chunk data with memory validation, allocates buffer, reads chunk data, and validates CRC. |
| 0x00DDC690 | 184 | png_validate_chunk_size | Validates PNG chunk data size against limits; reports error if chunk exceeds maximum allowed buffer capacity. |
| 0x00DDC750 | 62 | png_validate_chunk_type | Validates PNG chunk type string (4 ASCII characters A-Z), reports error if invalid format detected. |
| 0x00DDC790 | 1138 | png_read_filter_row | Applies PNG filter algorithms to decompress row data with bit-depth conversions and pixel transformations. |
| 0x00DDCC10 | 140 | png_verify_chunk_crc | Verifies PNG chunk CRC by reading 4-byte checksum and comparing against stored value at offset 0x13c |
| 0x00DDCCA0 | 168 | png_crc_read_and_verify | Reads PNG chunk data in 1KB blocks and verifies CRC checksum, reporting errors if validation fails. |
| 0x00DDCD50 | 41 | png_read_data_with_checksum | Reads PNG data chunk and updates Adler-32 checksum for integrity verification |
| 0x00DDCD80 | 558 | png_compress_and_buffer_data | Compresses PNG image data using zlib, manages memory buffers, and handles compression output with error checking. |
| 0x00DDCFB0 | 1113 | png_read_deinterlace_row | Deinterlaces PNG image rows using Adam7 interlacing algorithm for 1-bit and 2-bit color depths. |
| 0x00DDD410 | 77 | png_check_cHRM_xy | Validates PNG chromaticity coordinate as 32-bit fixed-point, returns value or 0xffffffff if out of range. |
| 0x00DDD460 | 58 | read_int32_from_buffer | Reads a 4-byte signed 32-bit integer from a buffer in little-endian format with sign extension. |
| 0x00DDD4A0 | 26 | png_get_uint_16_be | Reads a 16-bit big-endian unsigned integer from a byte array in PNG format. |
| 0x00DDD4C0 | 61 | png_read_uint32 | Reads 4 bytes in big-endian order and validates the uint32 value is within valid range |
| 0x00DDD500 | 38 | png_get_uint_32_be | Reads a 32-bit big-endian unsigned integer from a byte array in network/PNG byte order format. |
| 0x00DDD530 | 71 | png_process_interlaced_row_finish | Finalizes PNG row processing for interlaced images; verifies CRC and reports errors for misplaced chunks. |
| 0x00DDD580 | 356 | png_read_IHDR_chunk | Reads and validates PNG IHDR chunk header, extracts image dimensions/color type, calculates scanline width, calls IHDR handler. |
| 0x00DDD6F0 | 535 | png_read_pLTE | Reads and validates PNG palette (pLTE) chunk, stores color data, checks chunk ordering constraints. |
| 0x00DDD910 | 629 | png_write_sRGB | Parses and validates PNG sRGB color space chunk, applies profile to image based on bit depth and color type. |
| 0x00DDDB90 | 501 | png_write_cHRM | Reads and validates PNG cHRM (primary chromaticities) chunk, verifies CRC, and applies colorspace corrections. |
| 0x00DDDD90 | 349 | png_read_eXIf_chunk | Reads and validates PNG eXIf (Exif) chunk data, verifying byte-order and storing in buffer. |
| 0x00DDDEF0 | 158 | png_read_finish_cHRM | Validates and processes cHRM (primary chromaticities) PNG chunk after IDAT, verifying CRC and applying colorspace. |
| 0x00DDDF90 | 339 | png_read_hist_chunk | Reads and validates PNG histogram chunk (hIST), verifies chunk state and CRC, processes histogram data. |
| 0x00DDE0F0 | 1396 | png_read_iCCP_chunk | Reads and decompresses PNG iCCP (ICC Color Profile) chunk, validates format, initializes zlib decompression for embedded profile data. |
| 0x00DDE670 | 539 | png_read_text_chunk | Reads and validates PNG text chunk (keyword, compression method, language tag, translated keyword, text data). |
| 0x00DDE890 | 390 | png_read_pHYs_chunk | Reads and validates PNG pHYs chunk (physical pixel dimensions), verifies CRC, extracts X/Y resolution values |
| 0x00DDEA20 | 611 | png_write_info_before_PLTE_2 | Reads and validates PNG text chunk, parsing keyword-value pairs with equation type validation and parameter count checking. |
| 0x00DDEC90 | 305 | png_read_ihdr_chunk | Reads and validates PNG IHDR chunk, verifies CRC and calls set_png_write_parameters with parsed header data |
| 0x00DDEDD0 | 365 | png_write_filter_row_setup | Reads and validates PNG pHYs chunk (physical pixel dimensions), verifies CRC and chunk state. |
| 0x00DDEF40 | 506 | png_read_sCAL_chunk | Parses PNG sCAL chunk (physical scale), validates unit/width/height format, handles errors and duplicates. |
| 0x00DDF140 | 660 | png_read_sPLT_chunk | Reads and parses PNG sPLT (suggested palette) chunk, extracting palette entries with frequency data. |
| 0x00DDF3E0 | 205 | png_read_srgb_chunk | Validates and processes sRGB color profile chunk from PNG, verifying CRC and managing colorspace state. |
| 0x00DDF4B0 | 309 | png_write_filter_up_row | Reads and validates PNG text chunk data, stores keyword-value pair, handles CRC verification and memory allocation. |
| 0x00DDF5F0 | 268 | png_read_itxt_chunk | Reads and validates PNG iTXt (international text) chunk data, verifies CRC, and updates timestamp metadata. |
| 0x00DDF700 | 518 | png_write_tRNS | Parses and validates PNG tRNS (transparency) chunk; handles grayscale, RGB, and indexed color transparency data with CRC verification. |
| 0x00DDF910 | 362 | png_write_row_allocate_buffers | Processes PNG unknown/ancillary chunks, validates CRC, handles user chunk callbacks, manages chunk cache state. |
| 0x00DDFA80 | 505 | png_handle_iCCP | Reads and validates PNG iCCP (ICC Color Profile) chunk, decompresses profile data, and buffers it for processing. |
| 0x00DDFF00 | 256 | png_decompress_row_data | Decompresses PNG row data using zlib inflate, managing input buffers and output row tracking. |
| 0x00DE0000 | 75 | png_setup_filter_row_callbacks | Sets up function pointers for PNG filter row processing methods based on bit depth configuration. |
| 0x00DE0050 | 443 | png_read_IDAT_data | Decompresses PNG IDAT chunk data using zlib inflation, processing rows and managing checksum verification for image decompression. |
| 0x00DE0210 | 145 | png_read_buffer | Allocates or reuses a PNG read buffer with size validation, freeing old buffer if size requirement increases. |
| 0x00DE02B0 | 160 | png_read_next_chunk_header | Reads and validates the next PNG chunk header (length and type), updates checksum state. |
| 0x00DE0350 | 62 | png_read_filter_row_wrapper | Dispatches PNG row filter operations (Sub/Up/Average/Paeth) with lazy initialization of filter function pointers via vtable. |
| 0x00DE0390 | 94 | png_read_filter_row_sub_8bit | PNG sub filter decoder for 8-bit channels; averages left pixel with filtered byte values. |
| 0x00DE03F0 | 193 | png_read_filter_row_avg | PNG Average filter decoder - reconstructs scanline by averaging left and above pixel values per PNG spec |
| 0x00DE04C0 | 238 | png_do_read_interlace_pass | Applies PNG Paeth filter to reconstruct scanline bytes using left, above, and diagonal pixel values. |
| 0x00DE05B0 | 55 | png_read_filter_row_up | Applies PNG "Up" filter to image row by adding previous row values to current row pixels |
| 0x00DE05F0 | 153 | png_read_filter_row_sub | PNG Sub filter decompression - adds previous pixel values to current row bytes in 64-byte chunks |
| 0x00DE0690 | 113 | png_read_fill_buffer | Finalizes PNG IDAT chunk reading by verifying decompression completion and validating chunk CRC. |
| 0x00DE0710 | 234 | png_process_interlace_pass | Processes PNG interlace passes, calculates pass dimensions, resets buffer, advances to next pass or fills buffer |
| 0x00DE0800 | 158 | png_validate_and_complete_read | Validates PNG file integrity by checking header bytes and flags potential ASCII corruption during file read completion. |
| 0x00DE08A0 | 748 | png_read_start_row | Initializes PNG row reading by calculating row buffer sizes based on color type, bit depth, and enabled transformations. |
| 0x00DE0BE0 | 23 | flush_file_stream | Flushes the output buffer of a FILE* pointer stored at offset 0x60 in a struct if non-null. |
| 0x00DE0C00 | 49 | png_default_write_data_2 | Writes PNG data to file stream with error handling; calls png_error if write fails |
| 0x00DE0C40 | 24 | call_output_flush_callback | Invokes registered output flush callback function if one exists at offset 0x17c in structure. |
| 0x00DE0C60 | 80 | png_set_write_fn | Configures PNG write handler with custom data write and flush callbacks for a PNG structure. |
| 0x00DE0CB0 | 30 | png_call_write_fn | Invokes PNG write callback function at offset 0x58, errors if null pointer |
| 0x00DE0CD0 | 346 | png_do_pack_pixels | Packs pixel data into compressed bitplane formats (1/2/4-bit) for PNG image processing in RO client. |
| 0x00DE0E30 | 620 | png_do_unshift_pixels | Unshifts/expands sub-byte PNG pixel data to full bytes using bit depth and color type parameters. |
| 0x00DE10A0 | 146 | png_do_write_shift | Inverts alpha channel bytes in PNG image data based on color type and bit depth for write operations. |
| 0x00DE1140 | 287 | png_transform_byte_order | Transforms PNG pixel byte order based on bit depth (8/16-bit) and color type (grayscale/RGB) |
| 0x00DE1260 | 310 | png_do_write_transformations | Applies sequential PNG write transformations (strip, palette, pack, swap, shift, BGR, invert) based on flags in state struct. |
| 0x00DE13E0 | 49 | gg_sprintf_s_wrapper | Allocates JSON memory buffer and performs formatted string output with error handling, returning -1 on failure. |
| 0x00DE14F0 | 249 | initialize_rng_with_tick_count | Seeds random number generator with current tick count and stores param_2 at offset +0x20, likely initializing RNG state for gameplay randomization. |
| 0x00DE1690 | 341 | gg_flush_and_close_log | Flushes GameGuard log buffer, encrypts with RC4/XOR cipher, writes timestamped data to file handle, then closes and cleans up. |
| 0x00DE19B0 | 1025 | gg_update_encrypted_files | Updates encrypted game files by constructing file paths from decrypted strings and attempting file access with retry logic for multiple directory indices. |
| 0x00DE1DC0 | 158 | gg_create_security_mutex | Creates a named mutex with security descriptor; returns true if mutex already exists (ERROR_ALREADY_EXISTS). |
| 0x00DE1E60 | 317 | integrity_check_and_update | Verifies and updates integrity checksum using XOR-based validation with thread-safe critical section protection. |
| 0x00DE1FA0 | 119 | gg_detect_pe_header_anomaly | Detects PE header anomalies (code injection/packing) by validating MZ signature and comparing virtual size fields. |
| 0x00DE21A0 | 317 | gg_acquire_global_mutex | Acquires a named global mutex with timeout, initializing security descriptor to allow all access; returns 1 on success, 0 on failure. |
| 0x00DE22E0 | 104 | gg_init_hashmap_with_seed | Initializes game hashmap with time-based seed from GetTickCount, sets up RNG for hash operations |
| 0x00DE2520 | 194 | gg_registry_check_and_launch | Checks GameGuard registry key, verifies launch count, executes protected process, resets counter on success. |
| 0x00DE25F0 | 21 | CRT_BadInstruction_Halt | Halts execution on bad instruction data; decompiler artifact from obfuscated/corrupted code section |
| 0x00DE2AD0 | 1593 | gg_query_system_registry_values | Queries Windows registry for GameGuard/anti-cheat configuration values and logs them for integrity verification. |
| 0x00DE3110 | 290 | gg_create_mutex_lock | Creates/acquires named mutex with security descriptor; optionally waits with timeout, returns success status. |
| 0x00DE3240 | 140 | check_network_hook_integrity | Checks if WSASend and send function hooks are intact; logs changes and returns hook status (0=all valid, 1-2=hooks modified). |
| 0x00DE32D0 | 213 | check_timer_function_hooks | Detects IAT hook tampering on timer functions (QueryPerformanceCounter, GetTickCount, timeGetTime) and logs violations. |
| 0x00DE33B0 | 192 | gg_reinit_hashmap_thread_proc | Initializes hashmap with random seed via thread; validates magic parameters before proceeding with prime index lookup. |
| 0x00DE3720 | 377 | gg_load_api_library | Loads GameGuard DLL, resolves API functions, validates version against parameters, logs result, returns validation status. |
| 0x00DE38A0 | 463 | gg_restart_guard_process | Performs graceful shutdown of anti-cheat guard process: closes handles, cleans registry/shared memory, sends UDP packets, then restarts game with integrity verification. |
| 0x00DE3A70 | 232 | gg_terminate_worker_thread | Terminates worker thread by signaling event, waiting with timeout, forcefully killing if needed, and cleaning up handles/libraries. |
| 0x00DE3B60 | 223 | gg_terminate_guard_thread | Terminates anti-cheat guard thread: signals event, waits for thread shutdown (2s timeout), force-kills if needed, unloads DLL. |
| 0x00DE3C40 | 1311 | gg_process_pipe_command | Processes named pipe commands with encryption/decryption, handles various packet types (0x60f-0x618), logs encrypted data, manages API library loading |
| 0x00DE4390 | 202 | gg_delete_registry_values | Deletes multiple registry values from an encrypted registry key path, likely game configuration or anti-cheat data. |
| 0x00DE4460 | 109 | gg_write_registry_flag | Opens a registry key, writes a 4-byte DWORD value to it, then closes the key; returns success status. |
| 0x00DE44D0 | 406 | gg_launch_updater_process | Launches GameGuard updater process by constructing path, validating file exists, and executing via CreateProcessA with encrypted logging. |
| 0x00DE4670 | 309 | gg_exit_with_error_log | GameGuard fatal error handler that logs encrypted error details, enumerates processes/modules, then exits with code 100. |
| 0x00DE47B0 | 401 | gg_read_registry_values | Reads 4 GameGuard registry values from HKCU, decrypts them, logs encrypted results, returns first value. |
| 0x00DE4950 | 184 | gg_create_monitor_thread | Creates and monitors a hashmap reinitialization thread, logging success/timeout/errors with encrypted messages. |
| 0x00DE4A10 | 317 | gg_write_registry_values | GameGuard anti-cheat writes encrypted registry values (HKCU) and logs them for integrity verification during initialization. |
| 0x00DE4B50 | 162 | gg_send_status_with_lock | Thread-safe retrieval of game status value with optional XOR-based integrity validation and obfuscation. |
| 0x00DE4C00 | 19 | gg_insert_and_send_status | Wrapper function that inserts a node and sends game status update to server |
| 0x00DE4C20 | 26 | gg_insert_node_and_send_status | Inserts node into red-black tree and sends status update with thread synchronization lock. |
| 0x00DE4C40 | 9 | thunk_gg_pipe_write_if_active | Thunk wrapper that calls gg_pipe_write_if_active() to conditionally write data to inter-process communication pipe if active |
| 0x00DE4C50 | 73 | gg_get_module_directory_ansi | Extracts the directory path of the current executable module, returning 1 on success or 0 on failure. |
| 0x00DE4CA0 | 70 | gg_get_module_directory_wide | Retrieves the directory path of the current executable module, returning 1 on success or 0 on failure. |
| 0x00DE4CF0 | 124 | gg_build_module_path_ansi | Constructs a module file path by combining base directory with decrypted filename string, handling both absolute and relative paths. |
| 0x00DE4D70 | 144 | gg_build_module_path_wide | Constructs wide-character module file path by concatenating decrypted string with existing directory buffer. |
| 0x00DE4E90 | 52 | gg_get_update_buffer_info | Retrieves update buffer size and pointer if input pointer is valid, returns buffer pointer address |
| 0x00DE4EF0 | 19 | gg_get_pipe_name_if_param_nonempty | Returns pipe name buffer pointer if input parameter is non-empty string, else returns 0. |
| 0x00DE4F10 | 396 | gg_enumerate_process_modules | GameGuard anti-cheat: enumerates process modules via toolhelp32 snapshot and logs module names, base addresses, sizes to encrypted log. |
| 0x00DE50A0 | 393 | gg_enumerate_running_processes | GameGuard anti-cheat: enumerates running processes via toolhelp API and logs process names, PIDs, thread counts to encrypted log file. |
| 0x00DE5230 | 33 | gg_set_memory_read_write | Changes memory protection of a buffer to PAGE_READWRITE; stores result in structure field at offset 0x14 |
| 0x00DE5260 | 115 | gg_reinit_hashmap_on_restart | Initializes game hashmap with randomized seed on client restart for hash table collision avoidance |
| 0x00DE56A0 | 70 | gg_log_status_message | Decrypts and logs a status message from encrypted data at fixed offsets, branching on null-terminator check. |
| 0x00DE56F0 | 819 | gg_load_and_verify_module | Loads a DLL module, verifies its cryptographic signature, resolves API functions, and initializes module state in context structure. |
| 0x00DE5A30 | 741 | gg_start_monitor_thread | Initializes anti-cheat monitoring by loading encrypted DLL, verifying signature, and resolving API function pointers. |
| 0x00DE5D20 | 111 | gg_create_shared_memory_map | Creates named shared memory mapping (1 byte) and maps view with initial marker byte from decrypted string. |
| 0x00DE5D90 | 329 | gg_resolve_kernel32_apis | Resolves kernel32.dll API functions (toolhelp snapshot APIs) via GetModuleHandleA for GameGuard anti-cheat initialization. |
| 0x00DE5EE0 | 602 | gg_check_hooked_functions | Detects hooks on QueryPerformanceCounter, GetTickCount, and timeGetTime; returns count of hooked functions found. |
| 0x00DE6140 | 203 | gg_resolve_toolhelp_apis | Resolves and caches 5 ToolHelp32 API function pointers from kernel32.dll via dynamic lookup. |
| 0x00DE6210 | 3 | stub_return_true | Stub function that unconditionally returns true; likely a placeholder or disabled feature hook. |
| 0x00DE6220 | 76 | check_gameguard_disabled | Checks if GameGuard is disabled; returns validation status from FS offset or pipe message buffer offset. |
| 0x00DE6270 | 11 | gg_obfuscated_stub | GameGuard obfuscated stub - small encrypted/obfuscated function body, likely anti-tamper check |
| 0x00DE6400 | 93 | get_windows_version | Resolves and calls GetVersionExA API to retrieve Windows version info, returns true if major version is 2 |
| 0x00DE6460 | 140 | gg_resolve_kernel_api | Detects Windows Server 2003 (MajorVersion=5, MinorVersion=0) and doubles a game parameter if matched. |
| 0x00DE64F0 | 128 | gg_log_formatted_message | Formats a message into a 4KB buffer using JSON allocator, then writes encrypted data to game log file if handle exists. |
| 0x00DE6570 | 217 | gg_process_status_reports | Iterates through status report queue under mutex protection, performs integrity checks and sends encrypted reports to server. |
| 0x00DE6650 | 177 | validate_param_or_crash | Validates param_1[8] is non-zero; calls rand() and never returns if check fails (anti-debug/anti-tamper). |
| 0x00DE6710 | 675 | gg_resolve_api_function | Resolves API function pointers from PE module exports, supporting delayed binding with optional module redirection via string parsing. |
| 0x00DE6A20 | 1375 | gg_setup_update_files | Initializes game update file paths by resolving relative/absolute paths and storing config parameters in client state structure. |
| 0x00DE7140 | 10206 | gg_initialize_main_loop | GameGuard (nProtect) main initialization and event loop. Sets up the anti-cheat system by: (1) initializing thread-local storage and critical sections, (2) registering window message handlers for GG communication, (3) loading the GameGuard DLL (GameGuard.des/npgg*.des) and resolving its exported functions, (4) starting the GG monitoring thread that periodically checks process integrity, (5) handling GG callback events (heartbeat, authentication challenges, process scan results), (6) managing the GG state machine with states for initialization, authentication, running, and error recovery. Contains the main polling loop that processes GG messages and forwards them to the game's packet system. Handles GG error codes and displays appropriate error messages to the user. Coordinates with the server-side GG verification via network packets. |
| 0x00DE9980 | 180 | gg_resolve_ntdll_api | Resolves ntdll API functions (likely RtlDecompressBuffer variants) and attempts decompression on game data buffers. |
| 0x00DE9BB0 | 232 | gg_init_security_context | Initializes RNG-based security context with timer callback and red-black tree insertion for anti-cheat. |
| 0x00DE9CA0 | 120 | gg_virtual_protect_and_log | Changes memory page protection to PAGE_EXECUTE_READWRITE and logs the operation if logging is enabled. |
| 0x00DE9D20 | 66 | gg_unmap_shared_memory | Unmaps shared memory view and closes handle, zeroing pointers at offsets 0x45b0, 0x45ac, and flag at 0x45b4 |
| 0x00DE9E20 | 526 | gg_check_registry_and_cleanup | Validates registry entry path matches executable directory, deletes matching entries, logs deletion, returns success status. |
| 0x00DEA030 | 64 | gg_full_cleanup | Safely destroys sound system resources by cleaning audio buffers, stopping timers, and freeing the global sound manager object. |
| 0x00DEA080 | 5 | gg_set_game_path_noop | No-op function that returns 0; likely a stub or placeholder for game path initialization. |
| 0x00DEA090 | 942 | gg_launch_verified_process | Verifies executable signature using crypto, checks file access, logs errors, and launches process with RO game parameters. |
| 0x00DEA440 | 119 | gg_report_process_check | Processes gameguard report data: decrypts strings, logs encrypted data, and writes deduplicated pipe message (0x8b1). |
| 0x00DEA4C0 | 180 | gg_report_process_check_ex | Logs encrypted report data and writes to pipe (0x8b1) with deduplication for game telemetry/anti-cheat |
| 0x00DEA580 | 66 | crt_stack_probe_stub | Stack probe/initialization stub; corrupted or intentionally obfuscated anti-analysis code with bad instruction data. |
| 0x00DEA7F0 | 76 | gg_report_module_check | Validates suspicious module detection, encrypts report data, and sends it via named pipe 0x8b1 with deduplication. |
| 0x00DEA960 | 188 | gg_start_monitor_and_report | Initializes monitoring thread, logs encrypted data, and queues pipe message (0x8b1) for game telemetry/anti-cheat reporting. |
| 0x00DEAA20 | 85 | gg_call_auth_callback | Invokes GameGuard authentication callback with two parameters, logs encrypted result if logging enabled, returns callback result or 2 if unset. |
| 0x00DEAA80 | 424 | gg_write_heartbeat_value | Writes heartbeat value to protected memory with XOR encoding and rotation across multiple buffer slots with anti-tampering checks. |
| 0x00DEAC30 | 22 | gg_heartbeat_insert_wrapper | Wrapper that delegates heartbeat data insertion and persistence to gg_heartbeat_insert_and_write |
| 0x00DEAC50 | 29 | gg_heartbeat_insert_and_write | Inserts heartbeat node into red-black tree and writes heartbeat value to output buffer/stream. |
| 0x00DEAC70 | 188 | gg_process_auth_event | Processes GameGuard authentication event: logs data, enumerates processes/modules, writes to pipe 0x8b1, invokes callback or ring buffer. |
| 0x00DEAD30 | 207 | gg_process_pipe_loop | Gg process pipe loop |
| 0x00DEAE00 | 42 | gg_pipe_write_if_active | Writes packet 0x8b1 to pipe if handle is active, deduplicates via 0x61c offset, returns success status. |
| 0x00DEAE30 | 378 | gg_log_write_encrypted | Writes formatted log entry to file with RC4 or XOR encryption, thread-safe with timestamp and JSON allocation. |
| 0x00DEAFB0 | 100 | gg_log_init_status | Logs GameGuard initialization status including build date, check result, version, and enumerates running processes/modules. |
| 0x00DEB020 | 317 | gg_write_shared_memory | Writes data to a shared memory queue protected by mutex, appending to linked list of entries. |
| 0x00DEB850 | 96 | gg_ring_buffer_push | Thread-safe ring buffer push for 20-entry circular queue; returns false if buffer full, true on successful insert. |
| 0x00DEB8B0 | 648 | gg_check_loaded_modules | Validates loaded module integrity by checking PE headers and verifying code sections against bounds; logs anomalies. |
| 0x00DEBB40 | 18 | gg_check_initialized_or_halt | Returns 0 if uninitialized flag is set, otherwise triggers critical halt/exception handler |
| 0x00DEBB60 | 89 | gg_cleanup_and_destroy | Terminates GameGuard protection by restarting guard process, cleaning crypto/pipe state, closing logs, and freeing 0x45b8-byte GG context. |
| 0x00DEBBC0 | 24 | gg_decrypt_block2_with_global_key | Wrapper that decrypts and verifies a block2 packet using a global encryption key stored at DAT_01603664 |
| 0x00DEBBE0 | 26 | gg_decrypt_block_with_local_key_wrapper | Wrapper that calls gg_decrypt_and_verify_block with a local 4-byte buffer for key storage/verification. |
| 0x00DEBC00 | 24 | gg_encrypt_block_with_global_key | Wrapper that encrypts and signs a game data block using a global encryption key stored at 0x01603660 |
| 0x00DEBC20 | 26 | gg_encrypt_block_with_generated_key | Wrapper that generates a local encryption key and encrypts/signs a data block using that key. |
| 0x00DEBC40 | 118 | gg_clear_pe_header_reloc_flags | Clears IMAGE_SCN_MEM_WRITE flag from PE section headers to disable write protection on code sections. |
| 0x00DEBCD0 | 47 | gg_get_crypto_params | Retrieves two crypto parameters from a global structure at fixed offsets (0x30e4, 0x30e8) and returns base address. |
| 0x00DEBD00 | 201 | gg_dequeue_log_message | Dequeues encrypted log messages from circular buffer; returns 1 if message available, 0 if empty or on flush. |
| 0x00DEBDD0 | 162 | gg_generate_and_log_hwid | Initializes hashmap, generates hardware ID from parameter, logs encrypted HWID if callback exists, then destroys hashmap. |
| 0x00DEBEA0 | 27 | gg_get_update_buffer_if_initialized | Returns update buffer info if initialized flag is set, otherwise returns null/zero. |
| 0x00DEBEC0 | 18 | gg_get_pipe_name_if_initialized | Returns pipe name if global initialization flag is set, otherwise returns null; guards access to pipe name retrieval. |
| 0x00DEDF10 | 124 | gg_pipe_context_cleanup | Cleans up pipe context by signaling event, terminating thread if needed, and closing handles. |
| 0x00DF82BC | 1 | bad_instruction_io_loop_00df82bc | Bad instruction io loop 00df82bc |
| 0x00DFB48C | 1 | bad_instruction_io_loop_00dfb48c | Bad instruction io loop 00dfb48c |
| 0x00E4424E | 1 | bad_instruction_fragment_00e4424e | Bad instruction fragment 00e4424e |
| 0x00E4F292 | 1 | bad_instruction_fragment_00e4f292 | Bad instruction fragment 00e4f292 |
| 0x00E5F337 | 1 | bad_instruction_io_trap_00e5f337 | Invalid/misaligned code fragment - likely data misidentified as a call target |
| 0x00E7C35D | 1 | bad_instruction_int3_00e7c35d | Bad instruction int3 00e7c35d |
| 0x00E7D3CD | 1 | bad_instruction_fragment_00e7d3cd | Bad instruction fragment 00e7d3cd |
| 0x00E7E90D | 1 | bad_instruction_fragment_00e7e90d | Bad instruction fragment 00e7e90d |
| 0x00E80E8D | 1 | CItemCatalog__set_vtable | CItemCatalog: set vtable |
| 0x00E82B9D | 1 | bad_instruction_fragment_00e82b9d | Bad instruction fragment 00e82b9d |
| 0x00E8365D | 1 | bad_instruction_fragment_00e8365d | Bad instruction fragment 00e8365d |
| 0x00E836FD | 1 | bad_instruction_int3_00e836fd | Bad instruction int3 00e836fd |
| 0x00E8486D | 1 | bad_instruction_fragment_00e8486d | Bad instruction fragment 00e8486d |
| 0x00E8490D | 1 | infinite_loop_stub_00e8490d | Infinite loop stub 00e8490d |
| 0x00E85900 | 1 | bad_instruction_int3_00e85900 | Bad instruction int3 00e85900 |
| 0x00EB8E02 | 1 | bad_instruction_ldt_00eb8e02 | Bad instruction ldt 00eb8e02 |
| 0x00EB91F7 | 1 | bad_instruction_fragment_00eb91f7 | Bad instruction fragment 00eb91f7 |
| 0x00EBA76C | 1 | __break | Debug breakpoint instruction (INT3) |
| 0x00EBFEF1 | 1 | bad_instruction_fragment_00ebfef1 | Bad instruction fragment 00ebfef1 |
| 0x00EC27C4 | 1 | bad_instruction_fragment_00ec27c4 | Bad instruction fragment 00ec27c4 |
| 0x00EC6AF2 | 1 | int1_trap_00ec6af2 | Invalid/misaligned code fragment - likely data misidentified as a call target |
| 0x00F18D2D | 1 | OLE__cleanup_vectors_and_cell_records | OLE: cleanup vectors and cell records |
| 0x00F2465F | 1 | bad_instruction_fragment_00f2465f | Bad instruction fragment 00f2465f |
| 0x00F3D210 | 3 | empty_function | Empty stub function with no implementation; likely a placeholder or removed code path. |
| 0x00F3D220 | 3 | stub_empty_function | Empty stub function, likely a placeholder or removed functionality from CRT initialization chain. |
| 0x00F3D230 | 3 | empty_stub | Empty stub function, likely a placeholder or removed functionality in the binary. |
| 0x00F3D8E0 | 10 | cleanup_string_resources | Exit handler that destroys std::string objects during CRT shutdown; called via atexit() registration. |
| 0x00F3D910 | 10 | cleanup_string_destructor | Calls std::string destructor as part of CRT exit handler cleanup during program termination. |
| 0x00F3D980 | 10 | cleanup_std_strings | Runtime cleanup handler that destroys all std::string instances during program exit/atexit |
| 0x00F40350 | 10 | cleanup_std_string_on_exit | atexit handler that destroys a std::string object during C runtime shutdown sequence |
| 0x00F40410 | 10 | cleanup_string_at_exit | CRT exit handler that destroys global or static std::string objects during program termination |
| 0x00F40420 | 10 | cleanup_ragexe_strings | CRT atexit handler that destroys global std::string instances during process termination for Ragexe. |
| 0x00F419E0 | 3 | empty_function_stub | Empty stub function, likely a placeholder or removed code left in binary for padding/compatibility. |
| 0x00F43EE0 | 10 | cleanup_string_on_exit | Calls standard library string destructor during program exit cleanup via atexit handler. |
| 0x00F44FE0 | 10 | cleanup_std_string_at_exit | CRT exit handler that destroys std::string objects during program termination cleanup |
| 0x00F45550 | 10 | CAccountLinkedConfigEntry__dtor_wrapper | atexit() handler that invokes destructor for CAccountLinkedConfigEntry singleton/global instance |
| 0x00F459E0 | 10 | cleanup_std_strings_on_exit | Cleanup handler registered with atexit() to destroy all std::string instances during program termination. |
| 0x00F46050 | 10 | cleanup_game_strings | atexit handler that destroys global std::string objects during program termination |
| 0x00F46E00 | 10 | cleanup_std_strings_at_exit | CRT exit handler that destroys all std::string instances during program termination cleanup |
| 0x00F483B0 | 10 | cleanup_exit_handler | Exit handler that destroys a std::string object during program shutdown/atexit |
| 0x00F4B6E0 | 10 | cleanup_std_string | atexit handler that destroys global std::string instances during program termination |
| 0x00F4DB40 | 10 | cleanup_string_objects | Calls std::string destructor to clean up dynamically allocated string objects at program exit via atexit handler |
| 0x00F4E440 | 10 | cleanup_string_destructors | Calls std_string destructor to clean up dynamically allocated string objects during program exit. |
| 0x00F51930 | 10 | cleanup_game_string | Exit handler that destroys std::string instances during CRT shutdown cleanup. |
| 0x00F52010 | 10 | cleanup_std_string_destructor | Cleanup handler registered with atexit() that destroys a std::string object at program termination |
| 0x00F57390 | 10 | cleanup_game_client_strings | Destructor callback registered with atexit to clean up std::string objects before process termination. |
| 0x00F5DF30 | 10 | cleanup_std_string_resources | Runtime cleanup function that invokes std::string destructor during program exit to release allocated memory. |
| 0x00F61220 | 10 | cleanup_game_string_on_exit | Destructs a std::string object during CRT exit cleanup, likely for a global game string resource. |
| 0x00F61530 | 10 | cleanup_game_string_objects | Runtime cleanup handler that destroys all std::string instances allocated during game client execution at program exit. |
| 0x00F62110 | 10 | cleanup_exit_string_destructor | Calls std_string destructor as part of CRT exit handler cleanup sequence for application shutdown. |
| 0x00F65880 | 10 | cleanup_game_string_resources | Destroys std::string instances at program exit; cleanup handler registered with atexit() for string resource deallocation |
| 0x00F67740 | 10 | StringDestructorWrapper | Wrapper function that calls the std::string destructor, likely registered as an atexit handler for cleanup. |
| 0x00F6E9A0 | 10 | C3dGround__Destructor_Wrapper | Wrapper function registered with atexit() that calls C3dGround destructor during CRT shutdown |
| 0x00F6ED30 | 10 | C3dSceneNodeExt__Dtor | Destructor wrapper for C3dSceneNodeExt; calls inner destructor cleanup during CRT exit sequence. |
| 0x00F73480 | 10 | cleanup_stl_list_nodes | Runtime cleanup handler that destroys and deallocates all STL list nodes during program exit. |
| 0x00F77E60 | 10 | cleanup_string_globals | Destructs global std::string objects registered as CRT exit handlers during program shutdown. |
| 0x00F796BF | 1 | __break | Debug breakpoint instruction (INT3) |
| 0x00F97C99 | 1 | bad_instruction_fragment_00f97c99 | Bad instruction fragment 00f97c99 |
| 0x00F9B2EC | 1 | __break | Debug breakpoint instruction (INT3) |
| 0x00FA2420 | 10 | CGroundRes__Cleanup | Cleanup function that destroys tree node structures in ground resource manager during application exit. |
| 0x00FA2950 | 10 | cleanup_stl_vector_uint | Cleanup function that deallocates a static STL vector of unsigned integers, likely called at program exit. |
| 0x00FA4A30 | 10 | CItemTreeMgr__Cleanup | Cleanup handler that destroys the item tree manager's internal vector and tree data structures at program exit. |
| 0x00FA66C0 | 37 | cleanup_library_and_privileges | Cleanup function that frees loaded library handle and revokes debug privileges on non-Windows 9x systems. |
| 0x00FAA6C0 | 66 | cleanup_global_stl_tree_at_exit | Destructor for static STL tree container; called at program exit to free allocated memory before process termination. |
| 0x00FADF50 | 10 | cleanup_ragexe_exit_handler | Exit handler that destroys a std::string object during program termination cleanup. |
| 0x00FB74F0 | 11 | RegisterSkillBaseDtor | Registers CSkillBase destructor function pointer for cleanup at program exit via atexit mechanism. |
| 0x00FB8270 | 10 | cleanup_global_vector_elem30 | CRT exit handler that destroys and deallocates a global STL vector containing 30-byte elements |
| 0x00FBC690 | 10 | Pathfinder__Destructor_Wrapper | Exit handler that invokes Pathfinder destructor during CRT shutdown sequence. |
| 0x00FBC6A0 | 45 | cleanup_global_pointer_pair | Cleanup function that deletes two dynamically allocated objects; likely destructor for a global container or wrapper holding paired pointers. |
| 0x00FBCBA0 | 66 | CItemSlotManager_dtor | Destructor that clears the CItemSlotManager red-black tree on program exit with stack canary protection. |
| 0x00FBFD50 | 10 | cleanup_game_string_data | Cleanup function registered with atexit() to destroy std::string objects before program termination |
| 0x00FC02B9 | 10 | cleanup_stl_facet_nodes | Cleanup function that destroys the head node of STL facet node linked list during program exit. |
| 0x00FC0320 | 22 | cleanup_global_mutex | Cleans up a critical section mutex and resets associated state flag during program termination. |
No function in this part matches that. Search all 43,836 functions instead.