Back to legacygamers.net
WARPGATE

Security

CGGHashMgr, CNProtectGameGuardMgr, Stove PCSDK IAP, anti-cheat, nProtect GameGuard (183), Camellia/SEED/SEAL/DEAL/MARS, CHashWatermark, PacketCrypt, UIPinCodeWnd

Functions 389Code 137 KBAddresses 0x00401640 to 0x00E02740
389 functions
AddressSizeNameDescription
0x004016406CGGHashMgr__halt_baddataWrapper function that terminates the game client when hash validation fails in the hash manager.
0x004018704CGGHashMgr__GetField8Returns pointer to hash table data stored at offset +8 in CGGHashMgr instance
0x004018804CGGHashMgr__GetField4CGGHashMgr accessor returning the 4-byte value at offset +4 from the instance base address.
0x004C9DA031validate_buffer_sizeValidates buffer size is positive and address is below fixed upper bound (0x989681), returns 0 if valid, 5 if invalid.
0x00600DC0745StoveSDK__OnGetTokenCallbackHandles Stove PCSDK token callback; validates auth result, extracts access token, or displays error dialog and quits.
0x006010B0210StoveSDK__OnInitCallbackStove PCSDK initialization callback that validates SDK initialization result and exits with error MessageBox on failure.
0x006011901034StoveSDK__OnProductListCallbackProcesses Stove IAP product list callback; iterates products, extracts price/ID/display info, validates purchase limits and sale dates.
0x006015A0497StoveSDK__OnPurchaseResultCallbackProcesses Stove IAP purchase callback, extracts product/category IDs on success, stores in global struct, shows error MessageBox on failure.
0x006017A02855StoveSDK__OnCashShopProductListCallbackProcesses Stove SDK cash shop product list callback, categorizes products by ID, initializes item slots with category mapping.
0x006022D0413StoveSDK__OnConfirmPurchaseCallbackStove SDK purchase callback: sends 0x143 message on success, opens error URL via ShellExecuteA on failure.
0x00602470384StoveSDK__OnOwnershipCheckCallbackHandles Stove SDK ownership verification callback; on success sends packet 0x14b to active mode, fetches products, updates UI window 0x13e; on failure shows error dialog.
0x006026D0215StoveSDK__ClientInitInitializes StoveSDK client wrapper with vtable, zeroes member fields, allocates 0x288-byte buffer, calls StoveSDK__Initialize for Korean launcher integration.
0x006027B0170StoveSDK__TickTimerInitInitializes a timer structure with linked list node, default intervals (20ms, 12ms), and current system tick timestamp for StoveSDK.
0x0060287064StoveSDK__TickTimerNodeFreeFrees a StoveSDK tick timer node by deallocating its 0x28-byte internal buffer with stack canary protection.
0x006028C067StoveSDK__ContextNodeFreeFrees allocated memory (0x100 bytes) from a StoveSDK context node structure at offset +4.
0x00602910110StoveSDK__TickTimerDestroyDestroys a StoveSDK tick timer by freeing allocated memory (0x28 bytes) and cleaning up internal string state.
0x00602990130StoveSDK__ContextDestroyDestroys StoveSDK context by freeing allocated memory and cleaning up string resources at offset +4.
0x00602A20101StoveSDK__TickTimerClearAndFreeDestructs and deallocates a StoveSDK timer object, freeing internal string and timer structure memory.
0x00602AB0208StoveSDK__ShutdownShuts down Stove PCSDK by calling IAP_UnInitialize and Base_UnInitialize, clearing initialized flag and cleaning up Result objects.
0x00602B8065StoveSDK__TickTimerClearWrapperWrapper that clears and frees StoveSDK tick timer with stack canary security checks (XOR-based stack protection).
0x00602BD033StoveSDK__BaseScalarDeletingDestructorStoveSDK Base destructor with conditional heap deallocation based on deletion flag parameter.
0x00602C00229StoveSDK__ScalarDeletingDestructorStoveSDK destructor that uninitializes IAP and base systems, clears strings, optionally deletes object memory.
0x00602CF0188StoveSDK__AddProductToCategoryInserts a product node into a category's doubly-linked list; validates category index <11, allocates 0x100-byte node, copies product data, updates list size.
0x00602DC0779StoveSDK__InitializeInitializes Stove PC SDK with environment detection (sandbox/live), sets app keys, restarts if needed, initializes IAP and retrieves user info.
0x006030D0158StoveSDK__UninitializeUninitializes Stove SDK by calling IAP_UnInitialize and Base_UnInitialize, then clears the initialized flag.
0x00603170644StoveSDK__GetAccessTokenStringRetrieves Stove SDK access token, converts from wide-char to multibyte, stores at object+0x30 with 600-byte limit.
0x00603400288StoveSDK__GetUserInfoRetrieves Stove SDK user info (member number, game user ID), stores as strings at offsets 0x288/0x2a0, exits on failure.
0x006035205Base_RunCallbackInfinite recursion stub; likely corrupted/obfuscated code or failed decompilation of indirect jump table
0x00603530203StoveSDK__FetchProductsFetches IAP product list from Stove SDK, blocking until callback completes with 200ms polling intervals.
0x00603600513StoveSDK__StartPurchaseInitiates Stove IAP purchase flow by building StovePCStartPurchaseParam from product vector, calling IAP_StartPurchase with callback, then opens CS page or payment URL dialog.
0x00603810321StoveSDK__FetchAllProductsFetches cash shop products in two passes: all categories, then specific LIVE/SANDBOX category via Stove IAP SDK with blocking spin loops.
0x0060396090StoveSDK__FetchTermsAgreementSynchronously fetches Stove IAP terms agreement with polling loop, invoking OnConfirmPurchaseCallback upon completion.
0x006039C039StoveSDK__WaitForCallbackSynchronous blocking wait that polls Base_RunCallback every 200ms until DAT_01253d20 flag is cleared by Stove SDK callback completion.
0x00606B70394CHashWatermark__InitInitializes a 310x15 GDI+ surface rendering a git commit hash watermark with black shadow and white text overlay.
0x00606D0031CHashWatermark__DestructorDestructor for CHashWatermark that sets vftable, safely releases object at offset +8 via virtual destructor call.
0x00606D2053CHashWatermark__ScalarDeletingDestructorScalar deleting destructor for CHashWatermark; releases member at offset +8 and conditionally deallocates object.
0x00606D60488CHashWatermark__GetOrCreateSingleton factory that creates/initializes CHashWatermark with embedded watermark text, returns validity status
0x00606F7034CHashWatermark__DrawToSurfaceInvokes virtual method at offset 0x30 on object at param_1+8 to render watermark with color 0xffffffff and dimensions 0x136x0xf
0x006070507CryptoPP__BlockCipherMode__SetVtableSets virtual function table pointer for CryptoPP BlockCipherMode object to destructor vtable entry.
0x0060706093CryptoPP__BlockCipherModeEx__DestructorDestroys CryptoPP BlockCipherModeEx object by clearing internal byte vector buffers and restoring stack frame state.
0x0060ACB0233CryptoPP__AE_CipherInitInitializes AE (Authenticated Encryption) cipher mode object with vtable pointers, buffers, and destructor setup.
0x0060B1A0261CryptoPP__AE_CipherInit_DualInitializes a dual AES cipher mode object with vtable pointers and zeroed buffer state for encryption/decryption.
0x00611270613CryptoPP__AE_EncryptDecryptBlockDecrypts/encrypts data blocks using AES cipher with XOR operations and BCrypt, processes up to 0x810 byte chunks iteratively.
0x006176F0388CryptoPP__RNG__GenerateWord32MT19937 Mersenne Twister PRNG implementation; generates 32-bit random numbers for RO client crypto, shuffling, and game mechanics.
0x00618350693PacketCrypt__DispatchDecryptByTypeDispatches packet decryption based on cipher type byte, validates xxhash32, returns 1 on success or 0 on failure.
0x00618750263PacketCrypt__XorRandomBytesXORs pseudo-random bytes from an LCG or PRNG state into a 48-byte output buffer for packet encryption key derivation.
0x006188C01418PacketCrypt__InitAllCryptoKeysInitializes three PacketCrypt cipher key pairs by generating random keys and creating RNG contexts for packet encryption.
0x006195D0400CryptoPP__MersenneTwister__GenerateCryptoPP: MersenneTwister Generate
0x00619760295BufferedTransformation__DeallocateDeallocates a Crypto++ BufferedTransformation object's internal buffer and linked list nodes.
0x00619970442CryptoPP__IDEA__InvertKeysGenerates IDEA cipher decryption subkeys by inverting and reversing 52 encryption subkeys using multiplicative/additive inverses.
0x00619B30220CryptoPP__InlineBlockConstantsInitializes Crypto++ block cipher constants by loading 16 32-bit values from input buffer and deriving 48 additional round constants via bit rotation.
0x00619C80592CryptoPP__IDEA__EncryptBlockEncrypts 8-byte block using IDEA cipher with 8 rounds of modular multiplication and XOR mixing operations
0x00619ED0665CryptoPP__IDEA__SetKeyExpands 128-bit IDEA cipher key into 52 subkeys for encryption/decryption operations
0x0061A1F0270CryptoPP__AlignedBuffer_270ChaCha20 quarter-round transformation with rotation/XOR operations on four 32-bit state words (stream cipher core)
0x0061A380265CryptoPP__AlignedBuffer_265Block cipher encryption/decryption loop (likely RC4 or TEA variant) processing 4 uint32 values through 20 rounds with key schedule
0x0061A490392CryptoPP__SecureBuffer_InitializeKeyInitializes cryptographic key schedule using input data with RC6-like key expansion algorithm and secure buffer clearing.
0x0061A620392CryptoPP__SecureBuffer_KeyScheduleInitializes SHA-1-like key schedule with input data validation and rotation-based state transformation.
0x0061AC20883CryptoPP__ThreeWay__EncryptBlockThree-Way block cipher encryption with 11 rounds, bit permutation, and LFSR-based key scheduling for RO packet encryption.
0x0061AFA0464CryptoPP__ThreeWay__EncryptBlockBEEncrypts a 12-byte block using Three-Way cipher in big-endian mode with 11 rounds and key schedule.
0x0061B170484CryptoPP__ThreeWay__SetKeyInitializes 3-Way block cipher key schedule by loading 12-byte key and performing bit permutation transformation if needed.
0x0061B8C0225PacketQueue__FindAndDequeuePacketSearches packet queue for matching packet pair (iVar2, iVar1), dequeues and returns it via param_2
0x00733920453CGGHashMgr__ConstructorInitializes CGGHashMgr with critical section, loads RagHash.dat integrity file via CFileLoader, validates hash data.
0x00733AF089CGGHashMgr__DestructorDestroys CGGHashMgr object by calling CFileLoader destructor, nullifying pointer, and deleting critical section.
0x00733B50107CGGHashMgr__ScalarDeletingDestructorDestructor for CGGHashMgr; destroys CFileLoader, deletes critical section, optionally frees 0x24-byte object
0x00733BD06CGGHashMgr__InitGameGuard hash manager initialization stub that returns 1; actual implementation removed by Gravity.
0x00733C00215CGGHashMgr__FindByFileHashThread-safe wrapper that queries CFileLoader for file hash match; throws formatted error if not found.
0x00733D00215CGGHashMgr__FindByHashPairThread-safe hash pair lookup wrapper that acquires lock, searches via CFileLoader, returns 1 on success or throws formatted error.
0x00733DF0202CGGHashMgr__ValidateHashFile_ThreadSafeAcquires lock, checks hash validity, logs error if corrupted, releases lock, returns success status.
0x00733EE0325CGGHashMgr__ReloadAndValidateAllValidates all hash entries in game resource manager; logs error and crashes if file hash lookup fails.
0x00734040353CGGHashMgr__LoadRagHashDatAllocates CFileLoader, loads RagHash.dat integrity file, validates version >= 2 and hash check, returns success status.
0x007341B0159CGGHashMgr__CreateInstanceCreates and initializes CGGHashMgr singleton instance (0x24 bytes); returns 1 on success, 0 on allocation/construction failure.
0x007344D090CNProtect__InitializeSkillTreeNodeInitializes a skill tree node object by setting vftable, copying data from param_3, and inserting byte data.
0x00734530152CNProtect__InsertByteDataCopies byte data from source vector to destination vector, resizing destination to match source size via memmove.
0x00734A70577CNProtectGameGuardMgr__SendPacketSends GameGuard response packet 0x9D0 to server from queued auth data with critical section protection.
0x00734CC0158CSecurityMgr__ValidateGameGuardValidates GameGuard initialization status; logs error if validation fails with code 0x755.
0x00734D60695CNProtectGameGuardMgr__InitializeInitializes nProtect GameGuard anti-cheat system with region-specific configuration based on g_serviceType
0x00735180272CSecurityMgr__CreateInstanceCreates singleton CSecurityMgr instance (0x50 bytes), initializes critical section and GameGuard protection, returns success status.
0x0073529027cleanup_gameguard_resourceCleans up GameGuard instance stored at offset 0xc, calls gg_cleanup_and_destroy then deletes the pointer.
0x007352C027destroy_global_gameguard_objCalls virtual destructor on global GameGuard object and nullifies pointer to prevent double-free.
0x007352E097CNProtectGameGuardMgr__HasErrorThread-safe getter returning GameGuard error flag (offset 0x10) from CNProtectGameGuardMgr under critical section lock
0x00735350118CNProtectGameGuardMgr__ResetErrorClears the error string in CNProtectGameGuardMgr using a scoped lock for thread-safe access to offset 0x14.
0x007353D0125CNProtectGameGuardMgr__GetProductNameThreadSafeThread-safe wrapper retrieving GameGuard product name from nProtect pipe; returns "unknown" if uninitialized.
0x007354B099CNProtectGameGuardMgr__SetAuthDataSets GameGuard authentication data by forwarding param_2 to nProtect library with thread-safe critical section locking.
0x00735520731CNProtectGameGuardMgr__CallbackGameGuard callback handler processing nProtect messages (0x3E9-0x3FB), logging errors and queuing auth data packets.
0x0073583093CGGHashMgr__IncrementCounterIncrements GameGuard hash manager counter with mutex protection for session/connection tracking.
0x00735890145CNProtectGameGuardMgr__SetErrorInfoThread-safely stores first error info (file path string) in GameGuard manager, using critical section lock at offset 0x2C.
0x0073593099CNProtectGameGuardMgr__CheckAuthAcquires lock and invokes nProtect GameGuard authentication check with XOR-encoded stack canary for anti-tampering verification.
0x007362E0350RC4__KeyScheduleRC4 Key Scheduling Algorithm (KSA) - initializes S-box permutation and performs key mixing for RC4 cipher state
0x007B3800207ShuffleByteArrayWithCryptoPPRNGFisher-Yates shuffle implementation using CryptoPP RNG to randomly permute byte array elements between param_1 and param_2.
0x007B38D0207FisherYatesShuffle_WithRNG_BFisher-Yates shuffle implementation using cryptographic RNG with rejection sampling for unbiased random element selection.
0x007B39A0147FisherYatesShuffle_Simple_AFisher-Yates shuffle implementation for byte array range [param_1, param_2) using CryptoPP RNG with rejection sampling
0x007B3A40147FisherYatesShuffle_Simple_BFisher-Yates shuffle algorithm for byte array randomization using CryptoPP RNG with rejection sampling.
0x007B3AE076MersenneTwister__SeedInitInitializes MT19937 Mersenne Twister PRNG with seed, populating 624-entry state array using standard multiplier 0x6C078965.
0x00A88FA0163CProcessScanner__CheckFileExistsChecks if a file exists by searching resource manager hash table or filesystem using FindFirstFileA.
0x00A892F0288CProcessScanner__InitInitializes anti-cheat process scanner by loading platform-specific APIs (kernel32/psapi) and enabling debug privilege.
0x00A8941084CProcessScanner__CleanupCleans up process scanner by freeing library handle and resetting debug privileges if not on Windows 9x.
0x00A89480416crypto_rc4_decrypt_with_md5_key_derivationDecrypts RC4-encrypted data using MD5-derived key via Windows CryptoAPI; copies input to output buffer before decryption.
0x00A89640147delete_hack_detection_filesRemoves known cheat tool executables and config files from client directory during anti-cheat cleanup.
0x00A896E0193set_debug_privilegeEnables or disables SeDebugPrivilege for the current process via dynamic advapi32.dll function loading
0x00A897B0217CProcessScanner__EnumModulesToolhelpEnumerates loaded modules in a process using Windows Toolhelp API, invoking callback for each module found.
0x00A89890509CProcessScanner__EnumProcessModulesEnumerates loaded modules for a process, invoking callback for each module across Windows 9x and modern platforms.
0x00A89BF0220CProcessScanner__FindProcessEntrySearches process list snapshot for matching PID, copies PROCESSENTRY32 structure to output buffer if found.
0x00A89CD0575CProcessScanner__InitToolhelpOrPsapiInitializes process scanning APIs (Toolhelp32 on Win9x, PSAPI on NT) and enables debug privileges for process introspection.
0x00A89F10135is_windows_9x_platformDetects Windows 9x/ME platform by calling GetVersionExA and checking if dwPlatformId equals VER_PLATFORM_WIN32_WINDOWS (1)
0x00A89FA0157security_decrypt_and_type_charsDecrypts RC4-encrypted string via MD5-derived key and simulates keyboard input to CEditCtrl by feeding each decrypted character to OnCharInput
0x00A8A0E0268CProcessScanner__InitInstanceInitializes process scanner instance with platform-specific WinAPI function pointers (Win9x vs NT).
0x00AA7D901120CRijndael__InitInitializes Rijndael/AES cipher with key schedule setup for encryption/decryption round keys
0x00AA8200172CRijndael__CleanupArraysSecurely zeroes Rijndael cipher state including encryption keys, decryption keys, IV, and round key workspace to prevent sensitive data leakage.
0x00AA82B035CRijndael__ScalarDeletingDestructorScalar deleting destructor for CRijndael class; cleans up arrays and conditionally frees 0x474-byte object memory.
0x00AA82E0313CRijndael__EncryptECBEncrypts data using Rijndael cipher in ECB mode, processing input in block-sized chunks with key schedule initialization.
0x00AA8420313CRijndael__DecryptECBDecrypts data using Rijndael algorithm in ECB mode by decrypting each block and copying result to output buffer.
0x00AA8560384CRijndael__EncryptWithModeEncrypts data blocks using Rijndael cipher in CBC (mode=1), CFB (mode=2), or ECB mode with IV XOR operations.
0x00AA86F0759CRijndael__EncryptBlockEncrypts a data block using Rijndael cipher with variable block sizes (16/24/32 bytes), delegating 16-byte blocks to optimized handler.
0x00AA89F0919CRijndael__EncryptBlock16Encrypts 16-byte blocks using Rijndael algorithm with T-table optimization and round-key XOR operations.
0x00AA8D90916CRijndael__DecryptBlock16Decrypts 16-byte AES blocks using inverse T-tables and round keys; part of Rijndael cipher implementation for RO client encryption.
0x00AA9130390CRijndael__DecryptWithModeDecrypts data blocks using Rijndael cipher in CBC, CFB, or ECB mode with proper IV chaining and block alignment validation.
0x00AA92C0756CRijndael__DecryptBlockDecrypts Rijndael cipher blocks of variable size (20/24/32 bytes); delegates 16-byte blocks to optimized routine.
0x00AA95C01118CRijndael__MakeKeyInitializes Rijndael cipher key schedule with validation of key/block lengths (16/24/32 bytes) and IV setup.
0x00AA9A2088CRijndael__XorBlocksXORs two byte blocks in-place for CBC/CFB cipher mode chaining; validates initialization before operating on block data.
0x00AA9A8035store_uint32_leEncodes a 32-bit unsigned integer in little-endian byte order to a 4-byte buffer
0x00AA9AB019store_uint16_leStores a 16-bit unsigned integer in little-endian byte order at the given memory address.
0x00AA9AD0134MISTY1__FI_functionMISTY1 block cipher FI function performing 4 rounds of S-box substitution and XOR mixing on 32-bit input with 16-bit key material.
0x00AA9B60742MISTY1__EncryptBlockMISTY1 block cipher encryption on 64-bit data using 16 round-key schedule with S-box table lookups.
0x00AA9E50245MISTY1__DecryptBlockDecrypts a 128-bit MISTY1 block cipher using key schedule with S-box lookups and bit rotation transformations.
0x00AAA08044load_uint32_nativeDereferences and returns a 32-bit unsigned integer from the provided pointer address.
0x00AAA0B052load_uint32_interleavedExtracts interleaved 32-bit value from two consecutive dwords using byte-level masking and shifting operations.
0x00AAA0F083sbox_init_and_lookupInitializes 256-entry S-box with increments of 4 mod 256, returns lookup value for MISTY1 cipher.
0x00AAA15023MISTY1__S7_lookupMISTY1 S7 cipher sbox lookup wrapper that initializes and queries substitution box with summed parameters.
0x00AAA17025MISTY1__S9_lookupPerforms MISTY1 S9 sbox substitution lookup by summing param_1, param_2, and 1 as index
0x00AAA190438MISTY1__DecryptRoundMISTY1 block cipher decryption round function processing 8-byte data blocks with S-box substitutions
0x00AAA350420MISTY1__EncryptRoundPerforms one encryption round of MISTY1 block cipher on 8-byte data using S-box table lookups and iterative mixing
0x00AAA5001276MISTY1__KeyScheduleMISTY1 cipher key schedule generator - expands 8-byte key and IV into round subkeys via rotation and XOR operations
0x00AAAA401243CAST5__DecryptBlockCAST-128 block cipher decryption with 12/16 rounds; decrypts 8-byte blocks using S-box lookups and rotation
0x00AAAF201255CAST5__EncryptBlockCAST5__EncryptBlock performs CAST-128 block cipher encryption on 8-byte blocks using 4 S-boxes with 12-16 rounds.
0x00AAB4101762CAST5__KeyScheduleCAST-5 cipher key schedule initialization: expands key material into 4 32-bit words and generates round subkeys using S-box tables.
0x00AAC7303207Camellia__EncryptBlockImplements Camellia block cipher encryption round with S-box substitution and XOR mixing using 4 lookup tables and round keys.
0x00AAD3C03207Camellia__DecryptBlockDecrypts a 128-bit block using Camellia cipher with precomputed decryption round keys via S-box lookups.
0x00AAE0503275Camellia__KeyScheduleInitializes Camellia cipher S-boxes on first call; expands 128/192/256-bit encryption keys into round keys
0x00AAED20120MISTY1__FO_functionMISTY1 cipher FO function applying S-box substitutions to mix 32-bit input with round subkey
0x00AAEDA0124MISTY1__Decrypt8ByteDecrypts 8-byte MISTY1 cipher blocks using Feistel network with 8 rounds and global subkey tables
0x00AAEE20151MISTY1__Encrypt8ByteEncrypts 8-byte block using MISTY1 cipher with 8 Feistel rounds and subkey XOR operations.
0x00AAEEC0461MISTY1__ExpandKeyExpands 8-byte MISTY1 cipher key into 8 round subkey pairs via FO function and derives 4 whitening keys.
0x00AAF09076Skipjack__G_permutationSkipjack cipher G-permutation: mixes 16-bit values using two S-box tables for cryptographic transformation.
0x00AAF0E0107Skipjack__EncryptRoundAPerforms one round of Skipjack block cipher encryption with subkey XOR and substitution operations on 16-bit words.
0x00AAF150107Skipjack__DecryptRoundAPerforms inverse Skipjack block cipher decryption round (type A) using key schedule tables and 16-bit word manipulation.
0x00AAF1C0313Skipjack__RoundBSkipjack cipher round B variant applying G permutation 3 times with subkey XOR operations for RO packet encryption
0x00AAF670175DES__GenerateSBoxPermutationTablesGenerates DES S-box lookup tables and expanded permutation tables for encryption operations using XOR operations on hardcoded lookup data.
0x00AAF72080RC4__InitInitializes dual RC4 cipher states (encrypt/decrypt) with KSA, validates params, resets counters to 0.
0x00AAF770181RC4__PRGAGenerates one RC4 keystream byte using quad S-box configuration with counter-based S-box rotation for Ragnarok packet encryption.
0x00AAF830236RC4__KSAInitializes multiple RC4 S-boxes with identity permutation, then performs 8-pass key scheduling shuffling using provided key material.
0x00AAF9201081SEED__DecryptBlockDecrypts a 64-bit block using SEED cipher (Korean standard) with 8 Feistel rounds on 4x16-bit words
0x00AAFD601081SEED__EncryptBlockSEED block cipher encryption with 8 rounds of Feistel network using S-box substitution on 4x16-bit state blocks.
0x00AB01A0884SEED__GenerateSBoxTableGenerates a 64K S-box lookup table for SEED cipher by combining bit permutations from multiple sub-tables using bit extraction and indexing.
0x00AB0520209DES__KeyScheduleGenerates 48 DES subkeys from 16-byte input key via permuted choice and iterative encryption blocks.
0x00AB0600412Skipjack__EncryptBlockSkipjack block cipher encryption: encrypts 64-bit block using 8 rounds with alternating RoundB calls and subkey operations.
0x00AB07A0257Skipjack__DecryptBlockDecrypts a 64-bit block using Skipjack cipher with 32 rounds of alternating EncryptRoundA and RoundB operations
0x00AB08B023crypto_clear_128bytesSecurely clears 128 bytes of memory (typically cryptographic key/state structures) by zeroing.
0x00AB08D0921SEAL__KeyScheduleSEAL stream cipher key schedule: expands 128-bit key into subkeys using 7-bit and 9-bit S-boxes for RO packet encryption
0x00AB0C701235DEAL__ProcessBlockRecursive Feistel cipher block processor for DEAL encryption with S-box table lookup and 64-byte SIMD XOR mixing rounds
0x00AB1150582SEAL__GenerateKeystreamSEAL cipher PRGA: generates keystream output from internal state using 9-bit S-box lookups and modular arithmetic
0x00AB13A0114SEAL__XorEncryptEncrypts data using SEAL stream cipher by XORing param_2 buffer with generated keystream, advancing cipher state every 1024 bytes.
0x00AB1420114SEAL__XorDecryptDecrypts data using SEAL stream cipher by XORing param_3 32-bit words with generated keystream blocks.
0x00AB14A0418SEAL__InitTablesInitializes SHA1-derived lookup tables by transforming seed values with varying indices into table offsets.
0x00AB1650436SEAL__FullKeyInitInitializes SEAL cipher state by running SHA1 transforms to populate S-boxes and key schedule tables.
0x00AB181048SEAL__RefillBufferRefills SEAL cipher keystream buffer by generating new keystream and incrementing block counter.
0x00AB184027SEAL__SetPositionSets seal object position to param_2 and initializes associated state value to 0x400.
0x00AB19703355MARS__ProcessBlockMARS block cipher encryption round processor; applies Feistel network transformations with S-box substitution and bit rotation for 128-bit block encryption.
0x00AB26901109DEAL__DecryptBufferDecrypts buffer using multi-block XOR cipher with 64-byte blocks and session-specific keys from packet header.
0x00AB2AF01013DEAL__EncryptBufferEncrypts buffer using XOR cipher with key material, processing data in 64-byte blocks with multiple passes
0x00AB2EF0627RC4__BuildPermutationTablesInitializes RC4 S-box permutation tables (4-8 dimensions) using KSA for Ragnarok client cipher key scheduling.
0x00AB31C0164CryptoPP__InitSingletonInitializes a 16-byte singleton object for Crypto++ with first-byte flag set to 0x01, returns success status.
0x00AB328018CryptoPP__DestroySingletonDestroys singleton instance by freeing 16-byte allocated memory if non-null pointer exists.
0x00AB332022CryptoPP__CheckSingletonInitInitializes a Crypto++ singleton and sets output parameter to 1 on success, 0 on failure.
0x00AB334054CryptoPP__CleanupSingletonWrapper that cleans up CryptoPP singleton instance with stack canary protection during process termination.
0x00B40460118anticheat__check_hooks_and_debuggerDetects inline hooks and debuggers; crashes client if detected and g_serviceType is 0.
0x00C13EF0161DetectInlineHooksVerifies ws2_32.dll socket functions (connect, closesocket, send, select) haven't been inline-hooked by comparing IAT pointers.
0x00C15490105packet_copy_buffer_noopIdentity transform that copies packet buffer to stack and back, returning original size for encryption slot passthrough.
0x00C15590116find_packet_signature_bytesLocates a 6-byte packet signature pattern in memory for encryption hook installation in CPacket class.
0x00C15670151CPacket__InstallEncryptionHookInitializes packet buffers and patches encryption hook by replacing code with CALL instruction to redirect packet processing.
0x00C168D0147Camellia__DecryptWithStoredKeyInitializes Camellia cipher key schedule on first call, then decrypts a block using hardcoded 256-bit key.
0x00C169E0135CPacketKey__InitScrambleInitializes packet encryption keys by extracting nibbles from seed param_2, computing XOR-scrambled values stored at offsets +4 and +0xC using param_3.
0x00C40C201628entity_render_bounds_checkValidates entity rendering bounds against viewport dimensions; returns 0 if entity is outside visible area.
0x00C65BF0132backup_admin_equipment_logCreates backup file of admin equipment slot 7 data by formatting JSON and appending .bak extension
0x00CFD560755pkt_handler__stove_purchase_requestHandles Stove SDK purchase request packets with error codes, fetches terms/starts purchase flow, formats error messages to UI.
0x00CFD8E0397pkt_handler__stove_item_effect_messageHandles STOVE item effect packet by displaying UI dialogs with localized messages and triggering visual effects based on effect type.
0x00CFF370966pkt_handler__stove_tooltip_item_infoProcesses STOVE tooltip packet by parsing item data and building display name string from item table
0x00D582B0364CItemOwner__ScrambleValueObfuscates item values through iterative XOR with bit-rotated nibbles of a seed parameter for anti-cheat protection.
0x00D584201475CItemOwner__DecodeObfuscatedItemIdDecodes obfuscated item IDs by removing last char, applying digit substitution cipher (0→4,1→5,etc), returns numeric ID via atoi.
0x00D58B70381CItemOwner__UnscrambleValueDecrypts item value using param_2 as key via iterative bit rotation and XOR operations based on (param_2 % 6).
0x00D969C0138CMode__SetEncryptedDataCopies 64 bytes of encrypted data into object buffer at offset 0x794, then XOR-decrypts using key table.
0x00DBC32B40crt_unhandled_exception_terminateClears unhandled exception filter, reports exception, then terminates process with stack buffer overrun exit code.
0x00DBC353250crt_report_gs_failureCaptures CPU context and registers, constructs stack buffer overrun exception record (0xc0000409), invokes termination handler.
0x00DBC44D12crt_report_range_check_failureCRT runtime function that terminates process with failure code 8 when a range check assertion fails
0x00DBC459207crt_failfast_with_codeCRT fail-fast handler capturing CPU context and exception info (STATUS_STACK_BUFFER_OVERRUN) before termination
0x00DBC528277crt_failfast_with_extra_paramsCaptures CPU context and exception parameters, then triggers fast-fail termination with context dump to global exception handler structure.
0x00DBD38D31crt_guard_check_icall_fastfailControl Flow Guard (CFG) validation for indirect calls; triggers fastfail exception (int 0x29) on invalid targets
0x00DBD3AF57crt_guard_check_icall_dispatchValidates indirect call target against CFG guard bitmap, then dispatches callback if target passes security checks.
0x00DBD3E827crt_guard_check_icall_nopValidates indirect call target against CFG (Control Flow Guard) valid range using arithmetic overflow check
0x00DBD40345crt_guard_ehcont_check_int3CRT EH continuation guard validation - checks address range bounds and triggers breakpoint (int3) on guard violation
0x00DBD43049crt_guard_ehcont_check_fastfailCRT guard validates exception handling continuation target against image bounds; triggers fastfail if out of range
0x00DBD46476crt_guard_ehcont_check_dispatchCRT guard validation for exception handling continuation targets with callback dispatch to registered handler.
0x00DBD4B026crt_guard_ehcont_check_nopValidates EH continuation target address against bounds using arithmetic check for control flow guard protection.
0x00DBD4EC283crt_invoke_watsonCRT runtime function that creates exception record (0x40000015), invokes unhandled exception filter, and handles Watson crash reporting.
0x00DBD64067crt_check_pe_cfg_supportVerifies if the current PE module supports Control Flow Guard (CFG) by parsing PE headers.
0x00DEBF6018gg_check_statusChecks if GG (Game Guard) is initialized; if so, logs and returns GG status message result.
0x00DEBF80188gg_init_dep_policyInitializes Windows dependency policy by loading and calling a system function with error logging via encrypted strings.
0x00DEC0408gg_identity_passthroughIdentity function that returns its parameter unchanged; used for trivial passthrough operations or callback compatibility.
0x00DEC05065gg_protect_memory_readonlySets memory region to read-only (PAGE_READONLY=2) via VirtualProtect, logs via encrypted string if handler active.
0x00DEC0A065gg_protect_memory_readwriteSets memory page protection to PAGE_EXECUTE_READWRITE (0x4) and logs the operation if logging is enabled.
0x00DEC0F0557gg_initialize_contextInitializes global game context structure with mutexes, event handles, crypto/pipe subsystems, and main loop configuration.
0x00DEC32097gg_initialize_context_wideConverts wide-character string to ANSI and initializes game context with the resulting buffer.
0x00DEC3A068gg_start_monitoringInitializes game guard monitoring state and writes activation command to pipe if not already active
0x00DEC3F030gg_set_game_pathWrapper that validates game path initialization flag before delegating to noop handler function.
0x00DEC410109gg_set_game_path_wideConverts wide-character game path to ANSI and delegates to gg_set_game_path for path configuration.
0x00DEC48030gg_check_processWrapper that conditionally invokes game guard process verification check if anti-cheat module is enabled
0x00DEC4A033gg_check_process_exWrapper that conditionally invokes process check reporting if anti-cheat gate is enabled via DAT_01604a0c flag.
0x00DEC4D036check_gameguard_enabled_wrapperWrapper that checks if GameGuard is enabled (DAT_01604a0c) before delegating to stack probe check.
0x00DEC50030gg_check_moduleChecks if a game module is loaded/enabled, then reports the module check result if conditions are met.
0x00DEC52052gg_start_and_checkConditionally initiates GameGuard monitoring and reporting if enabled and param is non-null.
0x00DEC56098gg_start_and_check_wideConverts wide-char string to multibyte and calls gg_start_and_check for game guard initialization
0x00DEC5D013gg_set_callbackSets the GameGuard manager callback function pointer for protection event handling
0x00DEC5E098gg_set_server_addressSets game server address after validation, logs encrypted change if logging enabled
0x00DEC65031gg_send_auth_dataValidates authentication callback state and delegates to gg_call_auth_callback with parameters; returns error code 2 if uninitialized.
0x00DEC67023gg_notify_eventConditional wrapper that routes authentication events to processing if global flag DAT_01604a0c is enabled.
0x00DEC690110gg_set_game_dir_ansiSets game directory from ANSI string, validates path length <260 chars, stores in global buffers and converts to wide char
0x00DEC700129gg_set_game_dir_wideSets game directory from wide-char string, converts to ANSI, validates path length < 260 chars
0x00DEC7A071gg_set_ini_path_ansiValidates and copies ANSI INI file path (max 260 chars) to global buffer at offset 0x1603dcf
0x00DEC7F0157gg_set_ini_path_wideConverts wide-character INI file path to ANSI and delegates to gg_set_ini_path_ansi with length validation.
0x00DEC8D029gg_get_filename_from_path_ansiExtracts filename from a file path by finding the last backslash and returning the substring after it, or the original path if no backslash exists.
0x00DEC8F030gg_get_filename_from_path_wideExtracts filename from wide-character path string by finding last backslash separator.
0x00DEC91069gg_count_matching_entriesCounts guild members matching a given name by iterating through 50-entry guild member array with case-insensitive string comparison.
0x00DECAA042gg_find_free_slotFinds first non-zero slot in array of 50 elements, skipping specified index, returns slot index or 0xFFFFFFFF if none found
0x00DECB0053gg_hash_string_ci_ansiComputes case-insensitive hash of ANSI string using polynomial rolling hash (multiplier 0x1f, OR 0x20 for lowercase).
0x00DECB4066gg_hash_string_ci_wideComputes case-insensitive hash of wide-character (UTF-16) string using polynomial rolling hash with multiplier 31.
0x00DECB9077gg_find_entry_by_nameSearches a fixed-size array of 50 entries (800 bytes each) for matching name using case-insensitive comparison, returns index or -1.
0x00DECBE076gg_find_entry_by_prefixSearches a fixed-size array (50 entries × 800 bytes) for first non-null entry matching prefix, returns index or -1
0x00DECC30238gg_find_entry_by_hwndSearches a fixed-size array of 50 entries for a window handle match, supporting parent/child hierarchy checks via param_2 flag.
0x00DECD2046gg_find_entry_by_field1Linear search through guild member/guild info array (50 entries, 200-byte stride) by field offset +4, returns index or 0xffffffff if not found
0x00DECD5040gg_hash_string_csComputes case-sensitive hash of null-terminated string using polynomial rolling hash (multiplier 0x1f).
0x00DECD80121gg_is_window_in_rectChecks if a window's rectangle intersects with a given rectangular bounds using left/right and top/bottom comparisons.
0x00DECE00105gg_any_entry_overlaps_rectIterates through up to 50 window entries checking if any overlap with given rectangle using collision detection.
0x00DECEA032gg_entry_has_flagsChecks if a guild entry at index param_1 has specific flags set in its flag field (offset +32 bytes)
0x00DECED048gg_any_entry_has_flagsIterates through max 50 game entries checking if any has matching flags set in bitfield at offset +32 bytes
0x00DECF0048gg_entry_has_typeChecks if game entry at index param_1 exists and has type matching param_2 from fixed-size array at DAT_01604a6c
0x00DECF3048gg_has_entry_with_field7Searches up to 50 entries (200-byte stride) for a match on field[7]; returns 1 if found, 0 otherwise.
0x00DECF6055gg_entry_matches_field7_and_flagsValidates guild/group entry: checks bounds, existence, matches field7 (ID), and flags bitwise AND with param3.
0x00DECFA066gg_find_entry_field7_with_flagsSearches entry table (max 50 entries) for matching ID at offset +28, validates flags at offset +32 against param_2 mask.
0x00DECFF059gg_has_entry_in_pid_rangeSearches a fixed-size array (50 entries) for a PID within valid range bounds; returns 1 if found, 0 if not.
0x00DED03048gg_has_entry_with_pidSearches a fixed-size array of 50 entries (200-byte stride) for a matching process ID at offset +4, returns 1 if found.
0x00DED06048gg_has_entry_with_field6Searches array of ~50 entries (200-byte stride) for match on field offset +24, returns 1 if found else 0
0x00DED09029gg_is_hwnd_trackedChecks if a window handle is tracked by searching for a matching entry in the tracking list.
0x00DED0B047gg_string_starts_with_ciCase-insensitive string prefix comparison using multibyte character support (_mbsnbicmp).
0x00DED0E039gg_is_slot_activeValidates if equipment slot param_1 is active by checking bounds (< 50) and non-null slot data at offset in DAT_01604a6c array.
0x00DED110483gg_decrypt_string_ansiDecrypts/encrypts ANSI strings using XOR cipher with thread-local buffer caching for RO network packets.
0x00DED300419gg_decrypt_string_ansi_globalDecrypts ANSI strings with XOR cipher using seed bytes; caches and re-encrypts previous string in global buffer.
0x00DED4B0128gg_decrypt_string_ansi_simpleDecrypts ANSI string with 0x01 header marker using XOR cipher with derived key from bytes 1-3.
0x00DED530242gg_encrypt_string_ansiEncrypts ANSI string using XOR cipher with seed-derived keys, stores result in static buffer with length metadata.
0x00DED630230gg_decrypt_hex_stringDecodes hex string to bytes, then decrypts using XOR cipher with key derived from bytes 1-3 and length from bytes 2-3.
0x00DED720365gg_encrypt_to_hex_stringEncrypts data with XOR cipher using param_2 as key, encodes result as hex string with length header
0x00DED890123gg_unescape_hex_stringConverts escaped hex sequences (\\xx format) in strings to raw bytes, then applies simple decryption.
0x00DED910441gg_decrypt_and_cache_string_wideDecrypts wide-char string with marker byte, caches result, and re-encrypts previous cached string using XOR cipher.
0x00DEDAD0145gg_decrypt_string_wide_simpleDecrypts wide-character string with XOR cipher using derived keys from header bytes at indices 1-3.
0x00DEDB70235gg_encrypt_string_wideEncrypts wide-character string using XOR cipher with key derived from first character, stores result in static buffer with length metadata.
0x00DEDC60102gg_get_critical_sectionThread-safe lazy initialization of a critical section with epoch-based synchronization for multi-threaded access.
0x00DEDCD0170gg_stristr_ansiCase-insensitive substring search using multi-byte string duplication and lowercase conversion for RO client text matching.
0x00DEDD80182gg_stristr_wideCase-insensitive wide-character substring search; returns pointer to first match in haystack or original pointer if needle is empty
0x00DEDE40178gg_pipe_context_initInitializes pipe context structure with zeroed buffers, timestamp-based seed, and sentinel values for connection state.
0x00DEDF901674gg_pipe_reader_threadThread function that reads from a named pipe, processes game commands (0x60e-0x618), and handles heartbeat/timeout logic for RO client-server communication.
0x00DEE64046gg_pipe_context_set_handlesInitializes pipe context with read/write handles and starts reader thread if both handles are valid
0x00DEE6B067gg_pipe_start_readerInitializes a named pipe reader by creating an event and spawning a dedicated reader thread to handle pipe communications.
0x00DEE7004gg_pipe_get_auth_data_ptrReturns pointer to authentication data field at offset 0x1c within a pipe/packet structure.
0x00DEE7107gg_pipe_get_stderr_read_handleReturns stderr pipe read handle from process structure at offset 0x2a50
0x00DEE7207gg_pipe_get_stderr_write_handleRetrieves the stderr write handle stored at offset 0x2a5c from a pipe/process management object.
0x00DEE7307gg_pipe_get_update_buf_ptrReturns pointer to update buffer at offset 0x238 within a pipe/connection structure
0x00DEE7407gg_pipe_get_update_buf_sizeRetrieves the update buffer size from a pipe structure at offset 0x638.
0x00DEE7507gg_pipe_get_data_buf_ptrReturns pointer to data buffer within pipe structure at fixed offset 0x63c from base address
0x00DEE7607gg_pipe_get_data_buf_sizeReturns the data buffer size field from a pipe/IPC structure at offset 0x163c
0x00DEE7704gg_pipe_get_name_buf_ptrReturns pointer to name buffer at offset 0x34 within pipe structure/object at param_1
0x00DEE790288gg_pipe_setup_stdio_redirectSets up stdio redirection by creating pipes for stdout/stderr and duplicating handles for subprocess communication.
0x00DEE8B01010gg_pipe_write_messageWrites formatted messages to pipe file handle; handles packet types 0x63c/0x63d (basic), 0x630/0x632 (loop copy), 0x613 (string)
0x00DEECD0103gg_pipe_restore_and_start_readerRestores stdout/stderr handles, creates manual-reset event, and spawns pipe reader thread for IPC communication.
0x00DEED40140gg_pipe_write_with_dedupDeduplicates consecutive identical game packets (0x619-0x61d) by tracking repetition count, suppresses after 2 duplicates.
0x00DEEDD030gg_init_buffer_structInitializes a buffer structure by zeroing 0x204 bytes and setting size field to 0x208 (520 bytes total).
0x00DEEDF0199gg_crypto_initInitializes a cryptographic provider handle via CryptoAPI, with thread-safe critical section protection for concurrent access.
0x00DEEEC0162gg_crypto_cleanupCleans up cryptographic resources including hash objects, keys, crypto provider context, and mapped file memory with thread synchronization.
0x00DEEF90128gg_crypto_ensure_bufferAllocates or reallocates a buffer to requested size with thread-safe synchronization; returns success status.
0x00DEF0101485gg_crypto_verify_signature_v1Verifies digital signature on PE executable by reading/loading file, parsing PE headers, and validating signature data.
0x00DEF5E01363gg_crypto_verify_signature_v2Verifies digital signature on PE executable by extracting certificate from file/buffer and validating against embedded signature data.
0x00DEFB4055gg_checksum_wordsGameGuard: computes checksum over 16-bit word array for integrity verification
0x00DEFB80947gg_crypto_decrypt_file_to_bufDecrypts Ragnarok game data file to buffer using CryptoAPI, validates magic headers (0x32812622/0x32812621)
0x00DEFF40896gg_crypto_decrypt_file_to_buf2Decrypts a Ragnarok Online game file, validates magic signatures (0x32812622, 0x32812624), extracts headers and compressed data into buffer
0x00DF02C0155gg_crypto_hash_and_transformExtracts hash from crypto context, derives RC4 key, and decrypts/encrypts data payload using RC4 cipher.
0x00DF0360333gg_crypto_mmap_fileMemory-maps a file into process space, optionally computing CRC32 checksum for integrity verification with thread-safe critical section locking.
0x00DF04B0153gg_pe_checksum_verifyVerifies PE checksum by computing word checksum and comparing against embedded PE header value, outputs computed vs expected checksums.
0x00DF055060gg_crypto_set_flagSets a flag byte at offset 0x10 in a crypto object with thread-safe critical section protection.
0x00DF0590173gg_crc32_generate_tableGenerates standard CRC32 lookup table with polynomial 0xEDB88320 for 256 entries used in packet/data validation
0x00DF06403gg_noopEmpty function stub with no operation; used as placeholder or intentional no-op in control flow.
0x00DF0650323gg_crc32_compute_fileComputes CRC32 checksum of a file by reading it in 4KB chunks and updating hash with lookup table
0x00DF07A0323gg_crc32_compute_file_wideComputes CRC32 checksum of a wide-character file path by reading in 4KB chunks and XORing with lookup table.
0x00DF08F037gg_crc32_compute_bufferComputes CRC32 checksum of a buffer by initializing to 0xFFFFFFFF, processing data, and inverting final result.
0x00DF0920432gg_crc32_compute_file_partialComputes partial CRC32 checksum of file from offset, reading in 4KB chunks and updating hash via lookup table.
0x00DF0AD034gg_crc32_compute_memoryComputes CRC32 checksum of memory buffer by initializing state, updating with data, and finalizing with bitwise complement.
0x00DF0B0080gg_crc32_update_bufferUpdates CRC32 checksum by processing buffer bytes using lookup table at param_1 offset, returns error if buffer null
0x00DF0B5094gg_destroy_string_rangeGg destroy string range
0x00DF0BC0157gg_copy_string_to_slotCopies a C++ std::string to a fixed/dynamic slot, handling SSO and heap allocation based on string length.
0x00DF0C6046gg_sprintf_safeAllocates JSON memory and performs safe formatted string printing, returning result or -1 on error.
0x00DF0C9078gg_read_lineReads a single line from a string buffer into output buffer, handles \r\n line endings, max 1022 chars.
0x00DF0CE0343gg_parse_config_entryParses a game config entry from JSON, validates it via Lua, and stores error codes or appends to a string vector.
0x00DF0E40129gg_read_config_valueReads formatted config value from INI, parses it via JSON allocator, and converts result to integer using Lua sscanf.
0x00DF0ED0208gg_parse_ini_sectionsParses INI file section headers (bracketed names) into a null-terminated buffer, returns count of sections parsed or -1 on error.
0x00DF0FA0585gg_parse_ini_value_with_logParses INI file for section and key match, extracts value into buffer with logging and vector storage.
0x00DF11F0425gg_parse_ini_valueParses INI file to extract value for given section and key, returns length or default if not found.
0x00DF13A01166gg_rc4_cryptRC4 stream cipher encryption/decryption with 8-byte loop unrolling for RO packet obfuscation
0x00DF1830350gg_rc4_key_setupRC4 key scheduling algorithm (KSA) initialization for Ragnarok Online packet encryption with custom S-box setup.
0x00DF199047gg_encrypt_blocks_16Encrypts multiple 16-byte blocks sequentially by calling gg_block_encrypt_16 on each block until param_2 bytes are processed.
0x00DF19C03333gg_block_encrypt_16Encrypts 16-byte block using CAST-128 cipher with 32 round keys from param_2 schedule
0x00DF26D02701xtea_key_scheduleExpands 128-bit XTEA cipher key into 6 round subkeys using TEA constants and S-box lookups
0x00DF3160138gg_decrypt_blocks_paddedDecrypts padded data blocks in 16-byte chunks, padding final block with zeros before decryption.
0x00DF31F03333gg_block_decrypt_16Decrypts 16-byte Ragnarok packet block using TEA-like cipher with 6 rounds of table-based substitution
0x00DF3F00241gg_init_crypto_keysInitializes XTEA encryption keys by XORing input string with hardcoded values, then schedules keys for two cipher contexts.
0x00DF4000240gg_decrypt_and_verify_blockDecrypts game packet block, verifies magic number and CRC32 checksum, returns payload size or 0 on failure
0x00DF40F0240gg_decrypt_and_verify_block2Decrypts and verifies a 16-byte block using CRC32 checksum, returns decrypted size or 0 on failure.
0x00DF41E0287gg_encrypt_and_sign_blockAppends packet counter, CRC32 checksum, and packet size to block, then encrypts it for RO network transmission.
0x00DF4310126gg_hashmap_findSearches a hash map for a key, returns pointer to node and insertion position via output parameters.
0x00DF4390542gg_hashmap_insertInserts a key-value pair into a hash map with automatic rehashing when load factor threshold exceeded.
0x00DF462015gg_hash_xor_deadbeefXORs a 32-bit value with magic constant 0xdeadbeef; likely packet encryption/decryption in RO network protocol
0x00DF463031gg_fill_rangeGameGuard: fills a memory range with a constant value
0x00DF4650513gg_hashmap_initInitializes a hash map structure with linked list buckets, critical section lock, and resizes to initial capacity of 16.
0x00DF486023gg_context_memzeroZeroes 0x268 bytes of memory, likely initializing a game context structure to all zeros.
0x00DF48A053gg_free_aligned_bufferFrees aligned buffer with validation; checks alignment and delegates to operator delete with size parameter.
0x00DF493052gg_free_aligned_buffer2Frees aligned buffer with validation; checks alignment offset and deallocates via operator delete with size parameter.
0x00DF49E0145gg_hashmap_destroyDestroys hashmap by freeing allocated memory, virtual memory, clearing zip hash, and deleting critical section lock.
0x00DF4A80170gg_register_entryValidates and inserts a game entry structure into a hashmap, extracting 17 fields from input buffer starting at offsets 0x0-0x4c.
0x00DF4B30593gg_load_config_fileLoads and parses a game configuration file from disk, resolving relative paths and mapping file contents into memory for processing.
0x00DF4D90141gg_save_config_fileWrites configuration data to file at offset 0x1b9, deleting existing file first; returns error code on validation failure.
0x00DF4E2074validate_config_paramValidates a configuration parameter pointer; returns error code 0x164 if null, otherwise halts on corrupted data.
0x00DF5250101str_replace_charReplaces all occurrences of param_2 with param_3 in a string; returns pointer to string end or decrypted fallback string.
0x00DF52C097gg_close_internet_handlesCloses WinINet handles (connection and request) stored at offsets 0x90 and 0x8c when conditions are met.
0x00DF5330657gg_collect_and_zip_logsCollects filtered log files from game directory, compresses them into ZIP archive with temporary copies.
0x00DF55D0202gg_prepare_http_requestThrottles HTTP requests to 100ms intervals, validates state flags, manages critical section locks for thread safety
0x00DF5770337gg_get_error_stringMaps error code (1-19) to encrypted error message strings, decrypts and copies to output buffer via _mbsnbcpy.
0x00DF58D0165gg_hashmap_removeRemoves a hashmap entry by key, unlinks it from collision chain, decrements count, and frees the 96-byte node.
0x00DF598066gg_unregister_entryRemoves a hashmap entry by lookup key pair; returns 0 on success or error code (0x6f/0x70) on invalid params/not found.
0x00DF59D029gg_enter_critical_sectionConditionally enters a critical section if param_2 is null and DebugInfo is initialized.
0x00DF59F0216gg_load_config_and_logLoads configuration file with decrypted path, validates checksum (0x162e), logs result, returns config hash.
0x00DF5AD0186gg_start_sessionInitiates a game session with critical section protection; returns error code if param invalid or session already active.
0x00DF5BE0215gg_session_initInitializes session structures with zeroed buffers (1024+100+100 bytes); corrupted/incomplete function with bad instruction data
0x00DF6500204gg_update_entryWrapper for gg_update_entry_impl with validation checks and critical section locking for thread-safe entry updates.
0x00DF6630511gg_update_entry_implUpdates a game entry by hashing and encoding file data across multiple character encodings for patch/update verification.
0x00DF6E20574gg_generate_hwidGenerates hardware ID by collecting CPUID info, disk serial, and hashing them for client authentication.
0x00DF706031gg_validate_entryValidates a game entry string by checking if non-empty, then performs lookup operation on the entry with 32-byte offset.
0x00DF7080152concatenate_and_hash_stringsConcatenates two strings and returns case-sensitive hash of result without storing concatenated string.
0x00DF7120175gg_lookup_entry_wideConverts ANSI string to wide char and performs game guard entry lookup with validation flags.
0x00DF71D01391resolve_game_guard_file_pathResolves GameGuard file paths by constructing system directory paths and decrypting/caching string resources for file validation
0x00DF7740586gg_scan_processesScans process entries against a lookup table, matches names/flags, and accumulates bit flags into output parameter based on matched attributes.
0x00DF7990186gg_get_module_infoRetrieves module information with thread-safe critical section protection; returns status codes (100, 107, or wide query result).
0x00DF7AA0215initialize_module_info_buffersInitializes local buffers for module information storage; corrupted/incomplete function with bad instruction data preventing full analysis.
0x00DF83B0216gg_log_encrypted_messageLogs an encrypted message to file with hash verification and decryption, returning encrypted output for further processing.
0x00DF8490851gg_get_hardware_idsRetrieves hardware MAC addresses from network adapters via GetAdaptersInfo, prioritizing non-loopback/non-PPP adapters.
0x00DF87F0115gg_get_cached_value_or_defaultRetrieves cached value from hashmap by XOR-hashed key, returns default if not found or key is null.
0x00DF887047gg_get_cached_hashed_valueReturns cached value from hashed concatenation of two strings, or zero if params invalid.
0x00DF88A0989gg_enumerate_adaptersEnumerates network adapters from Windows Registry, queries adapter properties and MAC addresses using RegCreateKeyExA/RegQueryValueExA APIs.
0x00DF8C80936gg_enumerate_adapters2Enumerates network adapters via Windows Registry, decrypts config keys using time-based cipher, stores adapter data in JSON format.
0x00DF90301871gg_network_initInitializes network session with decrypted credentials; opens WinINet connection and formats JSON configuration for GameGuard authentication.
0x00DF97E09gg_retrieve_global_flag_from_cacheWrapper that retrieves a cached hashed global flag value from storage.
0x00DF97F0156gg_set_global_stateConditionally invokes virtual method at offset 0x5c with multiple parameters, checks global disable flag at 0x01606869
0x00DF98F029gg_leave_critical_sectionConditionally leaves a critical section if param_2 is null and DebugInfo is initialized.
0x00DF9910123gg_log_messageFormats a message using vsprintf into a buffer and invokes a callback function pointer stored at offset 0x6c.
0x00DF9990619gg_log_to_fileLoads log file into memory, validates CRC32 checksum, and caches the data for game logging operations.
0x00DF9C00141gg_log_flushWrites data buffer to a log file, deleting existing file first; returns error codes 0x151/0x152 on invalid params.
0x00DF9C9069validate_log_handleValidates log handle parameter; returns error code 0x154 if handle is null/invalid.
0x00DF9FD0707resolve_module_exportResolves exported function addresses from PE modules, handling forwarded exports and recursive module loading via GetProcAddress.
0x00DFA2F0320gg_verify_downloaded_fileValidates downloaded file integrity by checking critical data structures (offsets 0x8c, 0x90, 0x204, 0x424, 0x864) before performing update.
0x00DFA4901340gg_perform_updateInitializes game guard update process, establishes wininet connection, clears buffers, prepares decryption structures for client patching.
0x00DFBE90231gg_http_connectValidates HTTP connection state and initiates POST request with critical section protection; returns error codes for invalid state.
0x00DFBFD01043gg_http_postHTTP POST request handler for RO client that establishes WinInet connection and processes encrypted game server communication data.
0x00DFD590226gg_http_download_fileWrapper for HTTP file download with validation checks for critical section and download state flags.
0x00DFD6D01025gg_http_download_implDownloads HTTP content for RO client; initializes WinINet connection, buffers URL/headers, handles request parameters
0x00DFED00236gg_http_send_dataValidates HTTP send prerequisites and dispatches multipart data transmission with critical section protection and error codes.
0x00DFEE50291gg_http_multipart_prepare_or_corruptInitializes multipart HTTP request buffers; corrupted/incomplete function with bad instruction data halting execution.
0x00DFF90013set_game_state_field_at_0x6cSets a 4-byte value at offset 0x6c in a game state structure; likely stores game state or configuration data.
0x00DFF910208gg_hashmap_resizeResizes a dynamic array container by allocating new memory, copying existing elements, and freeing old allocation.
0x00DFF9F0363gg_hashmap_rehashRehashes a hash map by resizing its bucket array and reordering entries based on hash values and priority.
0x00DFFB60385gg_wininet_initInitializes WinINet module by loading library and resolving 8 exported function pointers with encrypted names.
0x00DFFCF0229decode_hex_string_with_xor_decryptionDecodes hex string to bytes, then XORs decrypted payload using derived key based on magic byte 0x02
0x00DFFDE0332decode_buffer_with_xor_cipherDecodes/decrypts a buffer using XOR cipher with param_2 as key material, outputs hex string representation.
0x00DFFF30360gg_initialize_connection_contextInitializes connection context with default values, system info, hardware ID, and time-based decrypted configuration data.
0x00E02580435gg_detect_windows_versionDetects Windows version via RtlGetVersion, sets global DAT_01606874 with GameGuard-specific version identifier codes.
0x00E02740675gg_get_proc_address_manualManually walks PE export table to resolve function addresses by name/ordinal, handling forwarded exports recursively to bypass IAT hooks.