fmtlib
fmtlib ({fmt}) library: CFmt__ format/parse/write functions
| Address | Size | Name | Description |
|---|---|---|---|
| 0x0057E620 | 27 | CFmt__write_bytes_and_store | Writes bytes and stores result |
| 0x0057E640 | 27 | CFmt__write_bytes_and_store_0057e640 | Writes bytes and stores result |
| 0x0057E660 | 132 | CFmt__get_locale_decimal_point | Gets locale decimal point |
| 0x0057E6F0 | 126 | CFmt__get_locale_decimal_point_default | Gets default decimal point |
| 0x0057E770 | 126 | CFmt__get_locale_thousands_sep | Gets thousands separator |
| 0x0057E7F0 | 441 | CFmt__parse_arg_id_char | Parses arg ID for char type |
| 0x0057E9B0 | 432 | CFmt__parse_arg_id_wchar | Parses arg ID for wchar type |
| 0x0057EB60 | 1267 | CFmt__format_float | Cfmt: format float, small utility function |
| 0x0057F060 | 1593 | CFmt__format_float_uint64 | Formats uint64 as float |
| 0x0057F6A0 | 1302 | CFmt__format_float_with_grouping | Formats float with grouping |
| 0x0057FBC0 | 81 | CFmt__write_padding_chars | Writes N padding chars |
| 0x0057FC20 | 79 | CFmt__write_fill_char_n_times | Writes fill char N times |
| 0x0057FC70 | 79 | CFmt__write_fill_char_n_times_0057fc70 | Writes fill char N times |
| 0x0057FCC0 | 132 | CFmt__scan_for_special_char | CFmt: scan for special char |
| 0x0057FD50 | 782 | CFmt__compute_utf8_display_width | Computes UTF-8 display width |
| 0x00580060 | 96 | CFmt__uint32_to_decimal_chars | Converts uint32 to decimal |
| 0x005800C0 | 279 | CFmt__uint64_to_decimal_chars | Converts uint64 to decimal |
| 0x005801E0 | 1186 | CFmt__format_double_to_digits | Converts double to digits |
| 0x00580690 | 163 | CFmt__format_codepoint_escape | Formats codepoint escape |
| 0x00580740 | 216 | CFmt__write_hex_digits | CFmt: write hex digits |
| 0x00580820 | 242 | CFmt__init_locale | Initializes formatting locale |
| 0x00580920 | 162 | CFmt__resolve_precision_arg | Resolves precision arg |
| 0x00580A00 | 162 | CFmt__resolve_width_arg | CFmt: resolve width arg |
| 0x00580AE0 | 253 | CFmt__find_named_arg_index | Finds named arg index |
| 0x00580BE0 | 13 | CFmt__store_result_ptr | Stores result pointer |
| 0x00580BF0 | 17 | CFmt__is_type_signed_int | Checks if type is signed int |
| 0x00580C10 | 17 | CFmt__is_type_signed_int_00580c10 | Checks if type is signed int |
| 0x00580EE0 | 328 | CFmt__parse_arg_id_auto_or_named | Parses arg ID with auto-numbering |
| 0x00581030 | 202 | CFmt__resolve_float_type_spec | Resolves float type specifier |
| 0x00581130 | 1193 | CFmt__parse_format_spec | Parses complete format specification |
| 0x005815E0 | 476 | CFmt__vformat_to_buffer | Main format string parser |
| 0x005817C0 | 116 | CFmt__parse_nonneg_int | Parses non-negative integer |
| 0x00581840 | 105 | CFmt__parse_type_char_00581840 | Parses format type character |
| 0x00581940 | 667 | CFmt__handle_replacement_field | Handles format replacement field |
| 0x00581BE0 | 41 | CFmt__pow_int_to_double | Converts int to double and computes pow() via libm_sse2_pow_precise. Used for float formatting exponent calculations. |
| 0x00581C10 | 37 | CFmt__pow_double | Computes pow() on a double via libm_sse2_pow_precise. Used for float formatting exponent calculations. |
| 0x00581C40 | 253 | CFmt__format_hex_float | Formats a floating-point value as hexadecimal float (%a/%A format specifier). Uses snprintf internally with precision and alternate form (#) flags. |
| 0x00581D40 | 142 | CFmt__format_int_value | Formats integer with spec |
| 0x00581DD0 | 156 | CFmt__format_uint_value | Formats unsigned integer |
| 0x00581E70 | 176 | CFmt__format_uint64_value | Formats an unsigned 64-bit integer value. Takes two 32-bit parts (low from param_5, high from param_6) and passes type 0x11 to the formatting engine. |
| 0x00581F20 | 156 | CFmt__format_int64_value | CFmt: format int64 value |
| 0x00581FC0 | 307 | CFmt__format_int64_value_00581fc0 | Formats a 64-bit integer value into an SSO string. Calls CFmt__format_value_with_locale_char to produce the formatted text, then copies the result into param_1 as an std::string (handling both SSO inline and heap-allocated cases). Frees the temporary string afterward. |
| 0x00582100 | 330 | CFmt__format_value_with_locale_char | Formats a value using locale-aware char numpunct facet. Initializes locale, gets numpunct facet via CFmt__func_00582ce0, formats result into output string param_1. |
| 0x00582250 | 334 | CFmt__format_value_with_locale_wchar | Formats a value using locale-aware wchar numpunct facet. Initializes locale, gets numpunct<wchar_t> facet via CFmt__func_00582e60, formats result into output string param_1. |
| 0x005823A0 | 666 | CFmt__float_to_shortest_decimal | Converts a 32-bit float to shortest decimal representation using Dragonbox/Grisu algorithm. Extracts IEEE754 mantissa and exponent, computes shortest decimal digits and decimal exponent. Returns packed (digits, exponent) as int64. |
| 0x00582640 | 1126 | CFmt__double_to_shortest_decimal | Converts a 64-bit double to shortest decimal representation using Dragonbox/Grisu algorithm. Extracts IEEE754 mantissa and exponent, computes shortest decimal digits and decimal exponent. Returns result struct with digits (uint64), exponent, and auxiliary data. |
| 0x00582AB0 | 41 | CFmt__buffer_reserve | Reserves space in a format buffer. Checks if (current_pos + param_2) fits within capacity. If yes, advances position and returns pointer to the reserved region. Returns 0 if insufficient space. |
| 0x00582AE0 | 124 | CFmt__buffer_to_string | Converts a format buffer to a std::string. Initializes an empty SSO string in param_1, then assigns the buffer contents (data pointer at offset+4, length at offset+8) via STL_string_assign_buffer. |
| 0x00582B60 | 34 | CFmt__copy_range_char | Copies a byte range [param_1, param_2) to destination param_3. Returns pointer past end of copied data in destination. |
| 0x00582B90 | 34 | CFmt__copy_range_char_00582b90 | Copies a byte range [param_1, param_2) to destination param_3. Returns pointer past end of copied data in destination. Duplicate instantiation of copy_range for different template parameters. |
| 0x00582BC0 | 34 | CFmt__copy_range_char_00582bc0 | Copies a byte range [param_1, param_2) to destination param_3. Returns pointer past end of copied data in destination. Duplicate instantiation of copy_range for different template parameters. |
| 0x00582BF0 | 34 | CFmt__copy_range_char_00582bf0 | Copies a byte range [param_1, param_2) to destination param_3. Returns pointer past end of copied data in destination. Duplicate instantiation of copy_range for different template parameters. |
| 0x00582C20 | 41 | CFmt__copy_n_bytes | Copies param_2 bytes from param_1 to param_3. Returns pointer past end of copied data. No-op if count is 0. |
| 0x00582C50 | 43 | CFmt__copy_n_wchars | Copies param_2 wide characters (2 bytes each) from param_1 to param_3. Returns pointer past end of copied data. No-op if count is 0. |
| 0x00582C80 | 85 | CFmt__fill_int32_array | Fills param_1 with param_2 copies of the int32 value at *param_3. If value is 0, uses memset for efficiency. Returns pointer past end of filled region. |
| 0x00582CE0 | 370 | CFmt__get_numpunct_char_facet | Gets or creates the numpunct<char> locale facet for formatting. Looks up the facet in the locale; if not found, creates a new one and registers it globally. Used by locale-aware number formatting. |
| 0x00582E60 | 244 | CFmt__get_numpunct_wchar_facet | Gets or creates the numpunct<wchar_t> locale facet for formatting. Looks up the facet in the locale; if not found, creates one via CFmt__func_0058be70 and registers it globally. |
| 0x00582F60 | 155 | CFmt__vformat_to | Top-level vformat_to implementation. If format string is "{}" (2 chars, 0x7d7b), fast-paths by formatting the first arg directly. Otherwise calls CFmt__vformat_to_buffer to parse the full format string and process all arguments. |
| 0x00583000 | 51 | CFmt__format_to_wrapper | Thin wrapper around CFmt__vformat_to. Passes format args through with a trailing 0 parameter, then stores result in param_1. |
| 0x00583040 | 1195 | CFmt__format_arg_by_type_char | Dispatches formatting of a single argument based on its type ID (param_3[2]). Handles: 1-2=unsigned int, 3=signed int64, 4=unsigned int64, 7=bool, 8=char, 9=float, 10-11=double/long double, 12=c-string, 13=string_view, 14=pointer, and custom formatters via switch. |
| 0x00583530 | 1115 | CFmt__format_arg_by_type_auto | Dispatches formatting of a single argument based on its runtime type. Large switch on type discriminator: handles int, uint, int64, uint64, float, double, bool, char, c-string, string_view, pointer, and custom formatter callbacks. This is the auto-detect version used by fmt::format("{}", arg). |
| 0x005839D0 | 333 | CFmt__create_format_error | Creates a fmt::format_error exception object. Initializes a static vtable via thread-safe init, constructs the error message using CFmt__func_00591270, and sets the exception vtable. Used for runtime format string errors. |
| 0x00583B20 | 119 | CFmt__write_cstring_to_buffer | Writes a null-terminated C string to a format output buffer, character by character. If the string is null, calls CFmt__func_00590df0 with "string pointer is null" error. Grows buffer as needed via the buffer's grow callback. |
| 0x00583BA0 | 13 | CFmt__store_result | Trivially stores param_2 into *param_1. Used as a result passthrough in formatting pipelines. |
| 0x00583BB0 | 545 | CFmt__write_string_with_padding | Writes a string (param_3, param_4 bytes) to the format output with alignment/padding per format spec (param_5). Handles debug/escaped mode (type 0x12), UTF-8 display width calculation, left/right/center alignment via CFmt__write_padding_chars, and quoted string escaping. |
| 0x00583E30 | 116 | CFmt__format_signed_int_with_sign | Formats a signed 32-bit integer with sign handling. Negative values get '-' prefix. Positive values get '+', ' ', or nothing based on format spec sign bits. Delegates to CFmt__func_00585790 for actual output. |
| 0x00583EB0 | 172 | CFmt__write_uint32_to_buffer | Writes a uint32 value as decimal digits to a format buffer. Counts digits using lookup table, tries direct write if buffer has space, otherwise writes to temp buffer and appends via CBigInteger__append_bytes. |
| 0x00583F60 | 918 | CFmt__format_float_value | Formats a 32-bit float value according to format spec. Handles sign, NaN/Inf, hex float format (type 3), and general/fixed/scientific formats (types 0-2). Uses stack buffer of 500 bytes, falls back to heap allocation. Calls CFmt__format_hex_float or CFmt__format_double_to_digits depending on type. |
| 0x00584300 | 935 | CFmt__format_double_value | Formats a 64-bit double value according to format spec. Handles sign, NaN/Inf, hex float format (type 3), and general/fixed/scientific formats (types 0-2). Uses stack buffer of 500 bytes, falls back to heap allocation. Calls CFmt__format_hex_float or CFmt__format_double_to_digits depending on type. |
| 0x005846B0 | 935 | CFmt__format_long_double_value | Formats a long double value according to format spec. Nearly identical to CFmt__format_double_value - on MSVC, long double is same as double. Handles sign, NaN/Inf, hex format, and general/fixed/scientific formats with stack buffer. |
| 0x00584A60 | 55 | CFmt__format_pointer_value | Formats a pointer value. Validates that the type specifier is 0 or 0x11 (pointer type); throws "invalid type specifier" otherwise. Delegates to CFmt__func_00587260 for hex output. |
| 0x00584AA0 | 335 | CFmt__write_int64_to_buffer | Writes a signed 64-bit integer as decimal digits to a format buffer. Handles negative sign, counts digits using lookup table, tries direct write to buffer, falls back to temp buffer + append. Uses CFmt__uint64_to_decimal_chars for digit conversion. |
| 0x00584BF0 | 212 | CFmt__write_uint64_to_buffer | Writes an unsigned 64-bit integer as decimal digits to a format buffer. Counts digits using lookup table, tries direct write to buffer, falls back to temp buffer + append. Uses CFmt__uint64_to_decimal_chars for digit conversion. |
| 0x00584CD0 | 227 | CFmt__format_bool_value | Formats a boolean value. If type specifier is 0 or 0x10, writes "true" or "false" string with alignment/padding. Otherwise delegates to CFmt__format_signed_int_with_sign to format as integer (0 or 1). |
| 0x00584DC0 | 145 | CFmt__write_padded_data | Writes data (param_3 pointer, param_4 length) to the format output with alignment/padding per format spec (param_5). Calculates left/right padding based on width and alignment mode, writes padding chars before and after the data. |
| 0x00584E60 | 48 | CFmt__format_char_value | Formats a single character value. Checks if type specifier is 0x12 (debug/escaped mode) and delegates to CFmt__func_00586cd0 with the char as a 1-byte string. |
| 0x00584E90 | 139 | CFmt__write_escape_hex2 | Writes a backslash escape sequence with 2-digit hex suffix to the format buffer. Writes '\\', then the escape prefix char (param_4), then converts param_5 to hex digits using "0123456789abcdef". Used for \\xNN escapes. |
| 0x00584F20 | 18 | CFmt__count_escape_hex2_size | Returns the output size for a 2-digit hex escape sequence: input + 4 bytes (backslash + prefix + 2 hex digits). |
| 0x00584F40 | 137 | CFmt__write_escape_hex4 | Writes a backslash escape sequence with up to 4-digit hex suffix. Writes '\\', then prefix char (param_3), then converts param_4 to hex using "0123456789abcdef" with leading zeros (4 digits). Used for \\uNNNN escapes. |
| 0x00584FD0 | 18 | CFmt__count_escape_hex4_size | Returns the output size for a 4-digit hex escape sequence: input + 6 bytes (backslash + prefix + 4 hex digits). |
| 0x00584FF0 | 173 | CFmt__write_escape_hex8 | Writes a backslash escape sequence with up to 8-digit hex suffix. Writes '\\', then prefix char (param_3), then converts param_4 to hex using "0123456789abcdef" with leading zeros (8 digits). Used for \\UNNNNNNNN escapes. |
| 0x005850A0 | 16 | CFmt__count_escape_hex8_size | Returns the output size for an 8-digit hex escape sequence: input + 10 bytes (backslash + prefix + 8 hex digits). |
| 0x005850B0 | 205 | CFmt__write_escaped_char | Writes a single character in escaped/debug format. Wraps the char in single quotes. Printable chars (except double-quote and single-quote) are written directly; control chars and special chars are written via CFmt__write_escape_sequence. |
| 0x00585180 | 256 | CFmt__write_escape_sequence | Writes a single escape sequence to the output buffer. Handles: tab->\\t, newline->\\n, carriage return->\\r, quote/backslash->backslash-prefixed literal. For other non-printable bytes, writes each byte as \\xNN hex escape via CFmt__write_escape_hex2. |
| 0x005852F0 | 66 | CFmt__count_escape_sequence_size | Calculates the output size of an escape sequence. Known escapes (tab, newline, CR, quote, backslash) take 2 bytes. Other non-printable bytes take 4 bytes each (\\xNN). Returns accumulated size added to param_2. |
| 0x005853A0 | 326 | CFmt__write_escaped_string | Writes a string in escaped/debug format wrapped in double quotes. Scans param_3 (param_4 bytes) for chars needing escaping (control chars, quotes, backslash, non-ASCII). Printable segments are copied directly; special chars go through CFmt__write_escape_sequence. |
| 0x005854F0 | 251 | CFmt__count_escaped_string_size | Calculates the total output size needed for an escaped/quoted string. Accounts for surrounding quotes (+2), and for each char needing escape: known escapes +2, other non-printable +4 per byte. Returns total size in *param_1. |
| 0x00585650 | 316 | CFmt__write_exponent | Writes scientific notation exponent |
| 0x00585790 | 529 | CFmt__format_uint32_with_spec | Formats a uint32 value according to the full format spec. Dispatches by type: 0/1=decimal, 2=octal, 3/4=hex lower/upper, 5/6=binary lower/upper, 0xf=char. Handles locale-aware grouping, 0x/0b/0o prefix with # flag, zero-fill padding. |
| 0x005859D0 | 618 | CFmt__format_uint64_with_spec | Formats a uint64 value according to the full format spec. Dispatches by type: 0/1=decimal, 2=octal, 3/4=hex lower/upper, 5/6=binary lower/upper, 0xf=char. Handles locale-aware grouping, 0x/0b/0o prefix with # flag, zero-fill padding. 64-bit version of CFmt__format_uint32_with_spec. |
| 0x00585C70 | 433 | CFmt__write_decimal_with_padding | Writes a decimal-formatted uint32 value with alignment/padding. If format spec has no width/precision, writes digits directly with optional sign prefix. Otherwise computes padding, writes sign prefix, zero-fills if needed, writes decimal digits, then trailing padding. |
| 0x00585E30 | 451 | CFmt__write_decimal_int_padded | fmtlib: Writes a decimal integer to output buffer with alignment, padding, sign prefix, and zero-fill. Handles format specs for width, alignment (left/right/center), and fill character. |
| 0x00586000 | 413 | CFmt__write_hex_int_padded | fmtlib: Writes a hex integer to output buffer with alignment, padding, sign prefix, and zero-fill. Calls CFmt__write_hex_digits for the actual hex conversion. |
| 0x005861A0 | 409 | CFmt__write_bin_int_padded | fmtlib: Writes a binary-formatted integer to output buffer with alignment and padding. Delegates to func_00589100 for binary digit output. |
| 0x00586340 | 413 | CFmt__write_oct_int_padded | fmtlib: Writes an octal-formatted integer to output buffer with alignment and padding. Delegates to func_00589950 for octal digit output. |
| 0x005864E0 | 409 | CFmt__write_uint64_binary_padded | fmtlib: Writes a 64-bit unsigned integer in binary format with alignment and padding. Delegates to CFmt__write_uint64_binary for digit output. |
| 0x00586680 | 413 | CFmt__write_uint32_octal_padded | fmtlib: Writes a 32-bit unsigned integer in octal format with alignment and padding. Delegates to CFmt__write_uint32_octal for digit output. |
| 0x00586820 | 409 | CFmt__write_uint64_octal_padded | fmtlib: Writes a 64-bit unsigned integer in octal format with alignment and padding. Delegates to CFmt__write_uint64_octal for digit output. |
| 0x005869C0 | 336 | CFmt__write_uint64_decimal_padded | fmtlib: Writes a uint64 value in decimal with padding/alignment. Counts decimal digits using a lookup table, handles sign prefix, then writes via CFmt__uint64_to_decimal_chars with thousands separator support. |
| 0x00586B10 | 156 | CFmt__format_int64_with_sign | fmtlib: Wrapper that formats an int64 value with sign handling. Calls format_int64_to_string to get the string representation, then write_uint64_decimal_padded for output with padding. |
| 0x00586BB0 | 276 | CFmt__write_inf_or_nan | fmtlib: Writes infinity or NaN special float values to output buffer. Handles sign character (+/-/space), selects uppercase or lowercase text ("inf"/"INF", "nan"/"NAN"), and applies alignment/padding. |
| 0x00586CD0 | 346 | CFmt__write_char_escaped_padded | fmtlib: Writes a character value to output with optional quoting/escaping and padding. If quoting enabled, wraps in single quotes and escapes special characters via CFmt__func_00585180. |
| 0x00586E30 | 367 | CFmt__write_float_parts_32 | fmtlib: Writes formatted float components (sign, integer part, decimal point, fractional part, exponent) to output buffer using 32-bit decimal conversion. Handles padding and alignment. |
| 0x00586FA0 | 370 | CFmt__write_float_parts_64 | fmtlib: Writes formatted float components (sign, integer part, decimal point, fractional part, exponent) to output buffer using 64-bit decimal conversion. Handles padding and alignment. |
| 0x00587120 | 312 | CFmt__write_string_padded | fmtlib: Writes a string argument to output buffer with padding and alignment. Handles sign character prefix, decimal point, fill characters, and left/right/center alignment. |
| 0x00587260 | 185 | CFmt__write_pointer_padded | fmtlib: Writes a pointer value (formatted as hex) to output buffer with "0x" prefix and padding/alignment. Calculates hex digit count via bit scanning. |
| 0x00587320 | 518 | CFmt__write_digits_with_grouping | fmtlib: Writes decimal digits to output buffer with optional thousands grouping separator. If locale grouping enabled, uses a temporary 500-byte buffer; otherwise writes directly. |
| 0x00587530 | 214 | CFmt__write_uint32_grouped_decimal | fmtlib: Converts a uint32 value to decimal string with optional thousands grouping separator character. Writes digit pairs from lookup table, inserts separator at group boundaries. |
| 0x00587610 | 452 | CFmt__write_uint64_grouped_decimal | fmtlib: Converts a uint64 value to decimal string with optional thousands grouping separator character. Uses 128-bit division to extract digit pairs, inserts separator at group boundaries. |
| 0x005877E0 | 350 | CFmt__format_int64_to_string | fmtlib: Constructs an std::string containing the formatted representation of an int64 value. Initializes SSO string, calls format_int64_value, then moves result into this->string. |
| 0x00587940 | 196 | CFmt__fopen_or_throw | fmtlib: Opens a file using fopen(). If fopen fails, formats an error message with errno and the filename, then throws fmt::system_error via CxxThrowException. |
| 0x00587A10 | 209 | CFmt__sopen_or_throw | fmtlib: Opens a file using _sopen_s() with shared read access. If open fails, formats an error message with errno and the filename, then throws fmt::system_error. |
| 0x00587AF0 | 126 | CFmt__system_error_copy_ctor | fmtlib: Copy constructor for fmt::system_error. Copies the exception base via __std_exception_copy, then sets the vtable to the system_error vtable. |
| 0x00587B70 | 135 | CFmt__system_error_ctor_from_string | fmtlib: Constructs fmt::system_error from an error message string. Initializes exception base, copies message via __std_exception_copy, sets system_error vtable. |
| 0x00587C00 | 260 | CFmt__format_error_ctor | fmtlib: Constructs fmt::format_error (type error). Takes an error message C-string, creates a temporary std::string, calls STL_json_type_error_ctor with the formatted message, then sets the format_error vtable. |
| 0x00587D10 | 110 | CFmt__format_windows_error_message | fmtlib: Calls FormatMessageW to get a Windows error message string for a given error code. Trims trailing whitespace (spaces, newlines, tabs, carriage returns) from the result. |
| 0x00587D80 | 209 | CFmt__utf8_to_wchar_converter_ctor | fmtlib: Constructs a UTF-8 to wchar_t string converter buffer. Initializes a 500-element inline buffer, then calls the UTF conversion function. Throws system_error with "cannot convert string from UTF-8" on failure. |
| 0x00587E60 | 88 | CFmt__char_buffer_ctor | fmtlib: Default constructor for a character memory_buffer with 500-byte inline storage. Sets vtable, buffer pointer to inline array, size=0, capacity=500. |
| 0x00587EC0 | 485 | CFmt__utf8_to_wbuffer_ctor | fmtlib: Constructs a wchar_t buffer by converting UTF-8 input. Initializes a 500-element inline wchar_t buffer, iterates through UTF-8 bytes via CFmt__func_00591120 (decode) and CFmt__func_00588d10 (encode to wchar_t), then null-terminates. |
| 0x005880B0 | 68 | CFmt__dynamic_buffer_dtor | fmtlib: Destructor for a dynamic buffer. If the buffer pointer does not point to the inline storage (this+4), frees the dynamically allocated memory. |
| 0x00588100 | 83 | CFmt__locale_facet_buffers_dtor | fmtlib: Destructor that frees three locale facet buffer pointers at offsets +8, +0x10, +0x14 of the pointed-to structure. Only frees if the structure pointer is non-null. |
| 0x00588160 | 83 | CFmt__locale_facet_buffers_dtor_00588160 | fmtlib: Destructor that frees three locale facet buffer pointers at offsets +8, +0x10, +0x14. Identical to CFmt__locale_facet_buffers_dtor at 00588100 (duplicate for different unwind path). |
| 0x005881D0 | 112 | CFmt__char_memory_buffer_dtor | fmtlib: Destructor for char memory_buffer. Sets vtable to base buffer vtable, then frees the dynamic buffer if it differs from the inline storage (this+16). Handles large allocation tracking. |
| 0x00588250 | 115 | CFmt__uint32_memory_buffer_dtor | fmtlib: Destructor for uint32 memory_buffer. Sets vtable, then frees dynamic buffer if capacity*4 exceeds inline storage. Element size is 4 bytes. |
| 0x005882D0 | 115 | CFmt__uint32_memory_buffer_dtor_B | fmtlib: Destructor for uint32 memory_buffer (variant B, different vtable). Sets vtable, then frees dynamic buffer if capacity*4 exceeds inline storage. |
| 0x00588350 | 114 | CFmt__wchar_memory_buffer_dtor | fmtlib: Destructor for wchar_t memory_buffer. Sets vtable, then frees dynamic buffer if capacity*2 exceeds inline storage. Element size is 2 bytes (wchar_t). |
| 0x005883D0 | 115 | CFmt__ostream_wrapper_dtor | fmtlib: Destructor for ostream wrapper. Sets ios_base vtable, adjusts vbase offset, calls custom_streambuf_dtor, then calls ~basic_ostream. |
| 0x00588450 | 233 | CFmt__custom_streambuf_dtor | fmtlib: Destructor for custom streambuf used by fmt::ostream. Sets vtable, frees the allocated character buffer if the owned flag (offset 0x3c bit 0) is set, zeros all buffer pointers, then calls ~basic_streambuf. |
| 0x00588540 | 77 | CFmt__unwind_string_dtor_00588540 | fmtlib: Compiler-generated unwind destructor. Calls STL_string_dtor to destroy a local std::string during exception unwinding. |
| 0x00588590 | 111 | CFmt__codecvt_facet_dtor_A | fmtlib: Destructor for codecvt locale facet (variant A). Sets vtable, frees three internal buffers at offsets +8, +0x10, +0x14, then calls ~codecvt base destructor. |
| 0x00588600 | 111 | CFmt__codecvt_facet_dtor_B | fmtlib: Destructor for codecvt locale facet (variant B, different vtable). Sets vtable, frees three internal buffers at offsets +8, +0x10, +0x14, then calls ~codecvt base destructor. |
| 0x00588670 | 65 | CFmt__unwind_string_dtor_00588670 | fmtlib: Compiler-generated unwind destructor. Calls STL_string_dtor to destroy a local std::string during exception unwinding. |
| 0x005886C0 | 65 | CFmt__unwind_string_dtor_005886c0 | fmtlib: Compiler-generated unwind destructor. Calls STL_string_dtor to destroy a local std::string during exception unwinding. |
| 0x00588710 | 5 | CFmt__vector_of_structs_dtor | fmtlib: Destructor for a vector of 24-byte structs (each containing a std::string). Iterates elements calling STL_string_dtor on each, then frees the vector's backing allocation. |
| 0x00588720 | 65 | CFmt__unwind_uint32_buffer_dtor | fmtlib: Compiler-generated unwind destructor. Delegates to CFmt__uint32_memory_buffer_dtor_B to destroy a uint32 memory_buffer during exception unwinding. |
| 0x00588770 | 95 | CFmt__fclose_with_error | fmtlib: Destructor for FILE* wrapper. If the file pointer is non-null, calls fclose(). If fclose fails, reports the error via CFmt__func_00590430 with errno and "cannot close file" message. |
| 0x005887E0 | 96 | CFmt__close_fd_with_error | fmtlib: Destructor for file descriptor wrapper. If fd != -1, calls _close(fd). If _close fails, reports the error via CFmt__func_00590430 with errno and "cannot close file" message. |
| 0x00588850 | 78 | CFmt__exception_base_dtor | fmtlib: Destructor for the exception base class. Sets vtable to exception_base, calls __std_exception_destroy to free the exception message string. |
| 0x005888A0 | 58 | CFmt__local_free_buffer_dtor | fmtlib: Destructor for Windows error message buffer. Calls LocalFree on the HLOCAL buffer at offset +4 that was allocated by FormatMessageW. |
| 0x005888E0 | 65 | CFmt__unwind_char_buffer_dtor | fmtlib: Compiler-generated unwind destructor. Delegates to CFmt__char_memory_buffer_dtor to destroy a char memory_buffer during exception unwinding. |
| 0x00588930 | 65 | CFmt__unwind_wchar_buffer_dtor | fmtlib: Compiler-generated unwind destructor. Delegates to CFmt__wchar_memory_buffer_dtor to destroy a wchar_t memory_buffer during exception unwinding. |
| 0x00588980 | 54 | CFmt__buffer_append_byte | Appends a single byte to a growable buffer. Checks capacity and calls grow callback if needed, then writes the byte at the current position and increments count. |
| 0x005889C0 | 184 | CFmt__uint128_shift_right | Performs a logical right shift on a 128-bit integer by param_3 bits. Handles shifts of exactly 64 bits, greater than 64 bits (recursive), and less than 64 bits (cross-word shift). Part of fmtlib bignum support. |
| 0x00588A80 | 183 | CFmt__uint128_shift_left | Performs a logical left shift on a 128-bit integer by param_3 bits. Handles shifts of exactly 64 bits, greater than 64 bits (recursive), and less than 64 bits (cross-word shift). Part of fmtlib bignum support. |
| 0x00588B40 | 351 | CFmt__write_json_escaped_string | Writes a JSON-escaped string to the output buffer. Wraps the string in double quotes (0x22), scans for characters that need escaping (control chars, backslash, quotes, high bytes), and emits escape sequences via CFmt__func_00585180 for special characters. |
| 0x00588CA0 | 105 | CFmt__write_hex_with_prefix | Writes a hex value with "0x" prefix. Appends '0' (0x30) then 'x' (0x78) to the output buffer, then calls CFmt__write_hex_digits to write the actual hex digits. |
| 0x00588D10 | 354 | CFmt__encode_utf16_codepoint | Encodes a Unicode codepoint as UTF-16. For codepoints < 0x10000, writes a single 16-bit value. For codepoints >= 0x10000, generates a surrogate pair (high surrogate + low surrogate). Throws json "invalid utf8" exception if codepoint is 0xFFFFFFFF. |
| 0x00588E80 | 182 | CFmt__write_float32_scientific | Writes a 32-bit float in scientific notation. Outputs optional sign character, grouped decimal digits, fill characters, decimal separator byte, and exponent via CFmt__write_exponent. |
| 0x00588F40 | 185 | CFmt__write_float64_scientific | Writes a 64-bit float in scientific notation. Same structure as float32 version but reads wider data fields. Outputs sign, grouped decimal digits, fill chars, decimal separator, and exponent. |
| 0x00589000 | 246 | CFmt__write_float32_fixed | Writes a 32-bit float in fixed-point notation. Outputs optional sign, integer digits with decimal point separator, fill characters, trailing byte, and exponent via CFmt__write_exponent. |
| 0x00589100 | 247 | CFmt__write_hex_digits_uint64 | Writes hex digits for a 64-bit value into a buffer. Supports uppercase (0123456789ABCDEF) and lowercase (0123456789abcdef) based on a flag. Tries direct write to output buffer first, falls back to stack buffer if insufficient space. |
| 0x00589200 | 621 | CFmt__format_uint32_decimal | Formats a uint32 as decimal string with sign prefix, optional zero padding, and optional thousands grouping separator. Uses CFmt__uint32_to_decimal_chars for digit conversion. Supports locale-aware grouping via temporary buffer. |
| 0x00589470 | 642 | CFmt__format_uint64_decimal | Formats a uint64 as decimal string with sign prefix, optional zero padding, and optional thousands grouping separator. Uses CFmt__uint64_to_decimal_chars for digit conversion. Supports locale-aware grouping via temporary buffer. |
| 0x00589700 | 583 | CFmt__format_string_decimal | Formats a raw digit string as decimal with sign prefix, optional zero padding, and optional thousands grouping separator. Reads pre-computed digit string rather than converting from integer. Supports locale-aware grouping. |
| 0x00589950 | 147 | CFmt__write_uint32_binary | Writes a uint32 value as a binary string (base 2). Extracts bits one at a time from LSB, converts each to '0' or '1', and writes right-to-left. Tries direct output buffer write first, falls back to stack buffer. |
| 0x005899F0 | 169 | CFmt__write_uint64_binary | Writes a uint64 value as a binary string (base 2). Extracts bits from a 64-bit value (two 32-bit words) one at a time, converts each to '0'/'1', writes right-to-left. Tries direct output buffer write first, falls back to stack buffer. |
| 0x00589AA0 | 537 | CFmt__format_uint32_grouped | Formats a uint32 with grouping separators (e.g. thousands separators). Writes sign prefix, uses CFmt__write_uint32_grouped_decimal for the digit portion with separator character, then appends optional fill characters. |
| 0x00589CC0 | 558 | CFmt__format_uint64_grouped | Formats a uint64 with grouping separators (e.g. thousands separators). Writes sign prefix, uses CFmt__write_uint64_grouped_decimal for the digit portion with separator character, then appends optional fill characters. |
| 0x00589EF0 | 150 | CFmt__write_uint32_octal | Writes a uint32 value as an octal string (base 8). Extracts 3-bit groups from the value, converts each to '0'-'7', writes right-to-left. Tries direct buffer write first, falls back to stack buffer. |
| 0x00589F90 | 178 | CFmt__write_uint64_octal | Writes a uint64 value as an octal string (base 8). Extracts 3-bit groups from a 64-bit value (two 32-bit words), converts each to '0'-'7', writes right-to-left. Tries direct buffer write first, falls back to stack buffer. |
| 0x0058A050 | 182 | CFmt__write_literal_text | Writes literal text from a format string to the output buffer. Scans for '}' characters and handles '}}' escape sequences (collapsed to single '}'), throwing an error for unmatched '}'. Appends each run of plain text to the output. |
| 0x0058A1C0 | 124 | CFmt__ostringstream_dtor | Destructor for CFmt's custom ostringstream. Updates vtable pointers, destroys the custom stringbuf via CFmt__func_00588450, then destroys the base basic_ostream and basic_ios. |
| 0x0058A250 | 151 | CFmt__ostringstream_scalar_deleting_dtor | Scalar deleting destructor for CFmt's custom ostringstream. Updates vtable, destroys stringbuf, destroys basic_ostream and basic_ios, then optionally frees memory (0x98 bytes) if param_2 bit 0 is set. |
| 0x0058A320 | 132 | CFmt__codecvt_facet_scalar_deleting_dtor | Scalar deleting destructor for a custom codecvt facet. Sets vtable, frees three allocated buffers (offsets +8, +0x10, +0x14), calls base codecvt destructor, then optionally frees the 0x18-byte facet object. |
| 0x0058A3B0 | 132 | CFmt__codecvt_facet_scalar_deleting_dtor_0058a3b0 | Scalar deleting destructor for a second custom codecvt facet variant (different vtable at 010dd874). Same logic as 0058a320: frees three buffers, calls base codecvt dtor, optionally frees 0x18-byte object. |
| 0x0058A440 | 103 | CFmt__json_exception_base_scalar_deleting_dtor | Scalar deleting destructor for json exception base class. Sets vtable to json_exception_base, calls __std_exception_destroy on the exception message, then optionally frees the 0xC-byte exception object. |
| 0x0058A4B0 | 30 | CFmt__small_object_scalar_deleting_dtor | Minimal scalar deleting destructor for a small 8-byte object. No member cleanup needed, just optionally frees the 8-byte allocation if param_2 bit 0 is set. |
| 0x0058A620 | 43 | CFmt__string_contains | Checks if a std::string (param_1) contains a substring (param_2, length param_3). Uses std::_Traits_find internally. Returns true if found (result != npos), false otherwise. |
| 0x0058A650 | 229 | CFmt__path_get_stem | Extracts the stem (filename without extension) from a file path string. First gets the filename portion, then searches backward for the last '.' and truncates there. Validates the dot position is after any directory separator. Returns the modified string. |
| 0x0058A740 | 173 | CFmt__path_get_parent | Extracts the parent directory from a file path. Finds the last path separator via CFmt__func_0058d8f0 and returns the substring before it. Returns an empty string if no separator is found. |
| 0x0058A7F0 | 256 | CFmt__path_get_extension | Extracts the file extension (including the dot) from a path string. Searches backward for the last '.', validates the dot is in the filename portion (after last path separator). Returns empty string if no valid extension found. |
| 0x0058A8F0 | 157 | CFmt__path_get_filename | Extracts the filename portion from a path string. Finds the last path separator via CFmt__func_0058d8f0 and returns everything after it as a substring. If no separator found, returns a copy of the entire path string. |
| 0x0058AC30 | 40 | CFmt__string_remove_all | Removes all occurrences of a substring from a std::string. Wrapper that calls CFmt__string_replace_all with an empty replacement string (null ptr, length 0). |
| 0x0058AC60 | 451 | CFmt__string_replace_all | Finds and replaces all occurrences of a search string with a replacement string in a std::string. Handles three cases: same length (memcpy in-place), shrinking (shift remainder left), and growing (check capacity, reallocate if needed). Returns the number of replacements made. |
| 0x0058AE30 | 825 | CFmt__format_double_to_string | Formats a double value to a std::string with given precision. Rounds the value using pow(10, precision), formats via ostringstream with std::setprecision. Optionally strips trailing zeros and lone decimal point when param_4 is non-zero. Returns the formatted string. |
| 0x0058B170 | 557 | CFmt__string_split | Splits a string into a vector of substrings by a delimiter pattern. Uses STL_search_bytes to find delimiter matches, then builds substrings between matches. Supports both empty and non-empty delimiter modes. Returns a vector of std::string segments. |
| 0x0058B3A0 | 133 | CFmt__path_strip_extension | Strips the file extension from a path string in-place. Searches backward for the last '.', validates it is in the filename portion (after last path separator), then truncates the string at the dot position by setting length and null terminator. |
| 0x0058B430 | 68 | CFmt__path_strip_filename | Strips the filename from a path, keeping only the directory portion. Finds the last path separator via CFmt__func_0058d8f0 and truncates the string there. If no separator found, does nothing. |
| 0x0058B480 | 62 | CFmt__string_to_lower | Converts all characters in a std::string to lowercase in-place using tolower(). Iterates through each byte from the string buffer start to the end (based on length field at offset +0x10). |
| 0x0058B4C0 | 293 | CFmt__string_to_lower_and_move | Converts a string to lowercase and transfers ownership to param_1. Applies tolower() to each byte in the source buffer, then moves the string's internal pointers (buffer, SSO data, length, capacity) into param_1. Handles both SSO and heap-allocated string cases. |
| 0x0058B5F0 | 62 | CFmt__string_to_upper | Converts all characters in a std::string to uppercase in-place using toupper(). Iterates through each byte from the string buffer start to the end (based on length field at offset +0x10). |
| 0x0058B630 | 293 | CFmt__string_to_upper_and_move | Converts all characters in an SSO string buffer to uppercase using toupper(), then moves the string's internal representation (ptr, size, capacity) to the output struct param_1. |
| 0x0058B760 | 36 | CFmt__string_trim | Trims a string by calling trim_left then trim_right. Removes characters from both ends that are in the given character set (or whitespace if no set provided). |
| 0x0058B790 | 148 | CFmt__string_trim_copy | Creates a new SSO string, copies the source buffer into it, then trims both left and right (removes whitespace or specified characters from both ends). Returns the trimmed copy. |
| 0x0058B830 | 360 | CFmt__string_trim_right | Trims trailing characters from an SSO string. If a character set is provided (param_3 != 0), builds a 256-byte lookup table and scans backwards to find last non-matching char. If no set, trims trailing whitespace using isspace(). Truncates string in-place. |
| 0x0058B9A0 | 136 | CFmt__string_trim_right_copy | Creates a new SSO string, copies the source buffer into it, then trims trailing characters (whitespace or specified set). Returns the trimmed copy. |
| 0x0058BA30 | 306 | CFmt__string_trim_left | Trims leading characters from an SSO string. If a character set is provided (param_3 != 0), builds a 256-byte lookup table and finds the first non-matching char, then shifts string left. If no set, trims leading whitespace using isspace(). |
| 0x0058BB70 | 136 | CFmt__string_trim_left_copy | Creates a new SSO string, copies the source buffer into it, then trims leading characters (whitespace or specified set). Returns the trimmed copy. |
| 0x0058BC00 | 616 | CFmt__string_pad_or_truncate | Pads or truncates an SSO string to a specified width. If the string is longer than the target width, it is truncated. If shorter, it is padded (prepended with fill characters). Handles SSO buffer management including small string optimization. |
| 0x0058BE70 | 523 | CFmt__create_codecvt_facet | Creates a locale codecvt facet for character conversion. Allocates a facet object, initializes it with locale info (decimal point '.', thousands separator ','), gets false/true name strings via CString__multibyte_to_wide. Sets vtable to codecvt facet dtor. Part of fmtlib locale support. |
| 0x0058C080 | 422 | CFmt__init_numpunct_facet | Initializes a numpunct locale facet from _Locinfo. Copies grouping string, falsename, and truename strings via calloc+memcpy. Sets decimal_point and thousands_sep characters (defaults to '.' and ',' if param_3 is non-zero, otherwise from localeconv). |
| 0x0058C230 | 175 | CFmt__destroy_string_vector | Destroys a vector of SSO strings. Iterates through each element calling STL_string_dtor, then frees the backing array with operator_delete. Resets all three vector pointers (begin, end, capacity) to 0. |
| 0x0058C510 | 43 | CFmt__assertion_failed | Handles assertion failures in fmtlib. Prints formatted assertion message to stderr using the format "%s:%d: assertion failed: %s", then calls terminate() to abort the program. |
| 0x0058C660 | 187 | CFmt__file_close | Closes a FILE* stream. If the pointer is non-null, calls fclose(). If fclose fails, reads errno and throws a system_error with "cannot close file" message. |
| 0x0058C720 | 188 | CFmt__fd_close | Closes a file descriptor. If fd != -1, calls _close(). Sets fd to -1 after closing. If _close fails, reads errno and throws a system_error with "cannot close file" message. |
| 0x0058C7E0 | 84 | CFmt__wchar_compare | Compares two wide character (ushort) arrays of length param_3. Returns -1 if first < second, 0 if equal, 1 if first > second. Used by CFmt__wstring_find for substring matching. |
| 0x0058CA10 | 209 | CFmt__wide_to_utf8 | Converts a wide string (LPCWSTR) to UTF-8 using WideCharToMultiByte with codepage 0xFDE9 (UTF-8). Stores the result in a char_memory_buffer object. Returns 0 on success, or Win32 error code on failure. |
| 0x0058CAF0 | 89 | CFmt__count_digits | Counts the number of decimal digits needed to represent a 64-bit unsigned integer. Uses a lookup table at DAT_010dd9f0/DAT_010dda30 to quickly determine digit count from the bit position of the highest set bit. |
| 0x0058CB50 | 122 | CFmt__count_separators | Counts how many thousand-separator positions exist for a number with the given digit count. Iterates through the grouping string (SSO string at this+0x18) to determine separator placement. Used for locale-aware number formatting. |
| 0x0058CBD0 | 55 | CFmt__guarded_free | Frees a heap allocation with size validation. If size > 0xFFF, checks that the stored pointer (at allocation-4) is within 0x1F bytes of the given pointer, calling _invalid_parameter_noinfo_noreturn on failure. Used by fmtlib bignum cleanup. |
| 0x0058CC10 | 246 | CFmt__fileno_or_throw | Gets the file descriptor from a FILE* using _fileno(). Returns the fd on success. On failure (fd == -1), reads errno and throws a system_error with "cannot get file descriptor" message. |
| 0x0058CEE0 | 133 | CFmt__numpunct_get_grouping | Returns the grouping string from a numpunct facet. Reads the char* at this+0x10, computes its length with strlen, and assigns it to the output SSO string. |
| 0x0058CF70 | 139 | CFmt__numpunct_get_falsename_wide | Returns the falsename as a wide string from a numpunct<wchar_t> facet. Reads the wchar_t* at this+0x10, computes its length, and assigns it to the output SSO wstring. |
| 0x0058D000 | 133 | CFmt__numpunct_get_falsename | Returns the falsename string from a numpunct<char> facet. Reads the char* at this+0x8, computes its length with strlen, and assigns it to the output SSO string. |
| 0x0058D090 | 133 | CFmt__numpunct_get_truename | Returns the truename string from a numpunct<char> facet. Reads the char* at this+0x8, computes its length with strlen, and assigns it to the output SSO string. |
| 0x0058D140 | 133 | CFmt__numpunct_get_truename_str | Returns the truename string from a numpunct facet (alternate accessor). Reads the char* at this+0x14, computes its length with strlen, and assigns it to the output SSO string. |
| 0x0058D1D0 | 139 | CFmt__numpunct_get_truename_wide | Returns the truename as a wide string from a numpunct<wchar_t> facet. Reads the wchar_t* at this+0x14, computes its length, and assigns it to the output SSO wstring. |
| 0x0058D260 | 280 | CFmt__fd_dup2_or_throw | Duplicates a file descriptor onto another using _dup2(this->fd, target_fd). Throws a system_error with "cannot duplicate file descriptor" on failure, including both source and target fd values in the error. |
| 0x0058D380 | 90 | CFmt__fd_dup2_noexcept | Non-throwing version of fd_dup2. Calls _dup2(this->fd, target_fd). On failure, writes errno and error category pointer to the output error_code parameter instead of throwing. |
| 0x0058D3E0 | 288 | CFmt__fd_dup_or_throw | Duplicates a file descriptor using _dup(fd). Stores the new fd in the output object. Throws a system_error with "cannot duplicate file descriptor" on failure. |
| 0x0058D510 | 99 | CFmt__string_erase_range | Erases a range of characters from an SSO string. Given begin and end iterators, computes the range to remove, uses memcpy to shift the remaining characters, and updates the string length. Handles both small (inline) and heap-allocated SSO buffers. |
| 0x0058D580 | 291 | CFmt__fd_open_or_throw | Associates a file descriptor with a FILE* stream using _fdopen(fd, mode). On success, stores the FILE* and sets the fd to -1 (ownership transferred). On failure, throws a system_error with "cannot associate stream with file descriptor". |
| 0x0058D6B0 | 576 | CFmt__wstring_find | Finds the first occurrence of a wide string pattern within a wide string. Converts both input char strings to wide strings using CFmt__func_00590eb0, then performs a linear search with CFmt__wchar_compare for substring matching. Returns the position or -1 if not found. |
| 0x0058D8F0 | 208 | CFmt__string_find_last_of | Finds the last position in an SSO string where any character from the given set appears, searching backwards from a given start position. Builds a 256-byte lookup table for the character set. Returns the position or -1 if not found. |
| 0x0058D9C0 | 26 | CFmt__set_unitbuf_flag | Sets the unitbuf flag on a stream object. Clears bit 0x1000 and sets bit 0x2000 in the flags field at this+0x14. This enables automatic flushing after each output operation. |
| 0x0058D9E0 | 49 | CFmt__vsnprintf_s | Wrapper around __stdio_common_vsnprintf_s. Gets a global buffer singleton, calls vsnprintf_s with the buffer and its size. Returns the number of characters written, or -1 on error. |
| 0x0058DA20 | 3005 | CFmt__grisu_gen_digits | Core Grisu/Dragon4 digit generation algorithm for float-to-decimal conversion. Takes a floating-point significand (128-bit), exponent, rounding flags, and output buffer. Uses big integer arithmetic (multiply, compare, divide) to generate decimal digits one at a time. Handles both fixed and free-format output with correct rounding. This is the main inner loop of fmtlib's float formatting. |
| 0x0058E5E0 | 302 | CFmt__format_decimal_error | Formats a decimal error message for float formatting. Computes the number of decimal digits for the given exponent, checks if the number can be represented, and formats it using CFmt__func_00582f60. Falls back to an "error" format if the number is too large. |
| 0x0058E720 | 138 | CFmt__format_system_error_to_buffer | Formats a system error into a buffer. Creates a format_error from the error code and message, then calls the virtual what() method to get the error string. Passes the result to CFmt__func_00583b20 for buffer formatting. |
| 0x0058E7F0 | 358 | CFmt__format_windows_error | Formats a Windows error message. Calls FormatMessageW to get the Windows error string, converts it to UTF-8 via CFmt__wide_to_utf8, then formats it with CFmt__format_codepoint_escape. Falls back to CFmt__format_decimal_error if FormatMessage or UTF-8 conversion fails. |
| 0x0058E980 | 260 | CFmt__fwrite_or_throw | Writes data to a FILE* using fwrite(). If the number of items written is less than requested, reads errno and throws a system_error with "cannot write to file" message. |
| 0x0058EA90 | 128 | CFmt__get_cached_power | Gets a cached power of 10 from a precomputed table. Supports two formats: compact (8-byte entries for indices < 15, using bit extraction) and extended (16-byte entries for larger indices). Returns a struct with mantissa and metadata. Used in Grisu float formatting. |
| 0x0058EB10 | 325 | CFmt__compute_cached_power | Computes a cached power of 10 for a given binary exponent. Uses a precomputed table of powers at DAT_010de2e8 (indexed by exponent/27) and interpolates with 64-bit multiply from DAT_010de458. Handles carry propagation. Core helper for Grisu float-to-decimal conversion. |
| 0x0058EC60 | 162 | CFmt__grisu_round | Grisu rounding decision function. Given the difference between the value and its decimal approximation, the divisor error, and an ulp value, determines whether to round up (return 2), round down (return 1), or the result is ambiguous (return 0). Used after digit generation to ensure correct rounding. |
| 0x0058ED10 | 23 | CFmt__get_system_page_size | Returns the system memory page size via GetSystemInfo. Used by fmtlib for aligned buffer allocation. |
| 0x0058ED30 | 1102 | CFmt__grisu_digit_gen | Grisu algorithm digit generation for float-to-string conversion. Extracts decimal digits from a 64-bit significand using power-of-10 division, with rounding via CFmt__grisu_round. Part of fmtlib's Grisu2 implementation. |
| 0x0058F1B0 | 84 | CFmt__streambuf_seekoff | Calls the virtual seekoff method (vtable offset 0x14) on a streambuf. Returns the position parameter. SEH frame for exception safety. |
| 0x0058F210 | 84 | CFmt__streambuf_seekoff_B | Second variant of streambuf seekoff virtual call (vtable offset 0x14). Identical structure to CFmt__streambuf_seekoff, used for a different streambuf instance. |
| 0x0058F270 | 189 | CFmt__byte_buffer_grow | Grows a byte-element memory buffer (element size 1). Uses 1.5x growth factor. Allocates aligned memory for buffers >= 0x1000 bytes, copies existing data via memcpy, and frees old buffer. |
| 0x0058F330 | 236 | CFmt__uint32_buffer_grow | Grows a uint32-element memory buffer (element size 4). Uses 1.5x growth factor with max 0x3FFFFFFF elements. Allocates aligned memory, copies existing data, frees old buffer. |
| 0x0058F420 | 236 | CFmt__uint32_buffer_grow_B | Second variant of uint32 buffer grow. Identical to CFmt__uint32_buffer_grow with same 1.5x growth factor and 0x3FFFFFFF element limit. |
| 0x0058F510 | 230 | CFmt__wchar_buffer_grow | Grows a wchar_t (2-byte) element memory buffer. Uses 1.5x growth factor with max 0x7FFFFFFF elements. Allocates aligned memory, copies existing data, frees old buffer. |
| 0x0058F600 | 285 | CFmt__flush_write_buffer | Flushes the write buffer to the underlying file descriptor via _write(). If the buffer is full (size==capacity and non-empty), writes all data and resets size to 0. Throws system_error on write failure with "cannot write to file" message. |
| 0x0058F720 | 185 | CFmt__unicode_codepoint_lookup | Looks up a Unicode codepoint in a property table. Searches a range table (param_2/param_3) by high byte, then checks low byte in a secondary table (param_4). Falls back to a variable-length encoded table (param_5/param_6). Used for printability/escape checks. |
| 0x0058F7E0 | 215 | CFmt__is_printable_codepoint | Checks if a Unicode codepoint is printable. For BMP (< 0x10000) and SMP (0x10000-0x1FFFF), uses table lookups. For higher planes, checks specific CJK/emoji ranges. Returns true if printable. |
| 0x0058F8C0 | 567 | CFmt__get_windows_error_string | Gets a Windows error message as a UTF-8 std::string. Calls FormatMessageW then converts wide string to UTF-8. Returns "unknown error" if conversion fails. Used by fmtlib's system_error formatting. |
| 0x0058FB10 | 260 | CFmt__needs_escape | Determines if a Unicode codepoint needs escaping in formatted output. Returns 1 (needs escape) for control chars (< 0x20), DEL (0x7F), quote (0x22), backslash (0x5C), and non-printable codepoints. Returns 0 for printable chars. |
| 0x0058FC20 | 97 | CFmt__format_cached_arg | Fetches a cached power-of-10 for format argument handling. Throws "argument not found" if cache lookup fails. Copies format state from this+0x10..0x28 and calls CFmt__func_00583530 to apply the cached power. |
| 0x0058FC90 | 95 | CFmt__set_sign_flag | Validates and sets the sign flag on a format specifier. Requires numeric type (throws "format specifier requires numeric argument" otherwise). Requires signed type (throws "format specifier requires signed argument" for unsigned). Sets bits 4-6 of the spec byte at offset 9. |
| 0x0058FCF0 | 335 | CFmt__stringbuf_overflow | stringbuf overflow virtual implementation. When put area is full, allocates a new buffer (min 0x20, max 2x growth, capped at 0x7FFFFFFF), copies existing data, updates get/put area pointers, frees old buffer if owned. Writes the overflow character to the new position. |
| 0x0058FEA0 | 373 | CFmt__create_pipe | Creates a pipe via _pipe() with 64KB buffer and binary mode (0x8000). Stores read/write file descriptors to output params. Throws system_error with "cannot create pipe" on failure. Closes any previous FDs first. |
| 0x00590020 | 251 | CFmt__write_to_file_or_console | Writes data to a FILE, with special handling for console output. If the file is a TTY, converts UTF-8 to wide chars and uses WriteConsoleW for proper Unicode display. Falls back to fwrite for non-TTY files. |
| 0x00590120 | 46 | CFmt__buffer_push_byte | Pushes a single byte into a memory buffer. If the buffer is full (size >= capacity), calls the grow function via vtable. Appends the byte at the current position and increments size. |
| 0x00590150 | 262 | CFmt__read_from_fd | Reads data from a file descriptor via _read(). Throws system_error with "cannot read from file" message on failure (return < 0). Returns the number of bytes read on success. |
| 0x00590260 | 80 | CFmt__count_trailing_zeros_32 | Counts and removes trailing decimal zeros from a 32-bit Grisu remainder. Divides by 100 repeatedly then by 10, updating the value in-place. Returns the number of trailing zeros removed. Part of Grisu float formatting. |
| 0x005902B0 | 380 | CFmt__count_trailing_zeros_64 | Counts and removes trailing decimal zeros from a 64-bit Grisu remainder. Uses 128-bit multiply by reciprocal of 100, then checks remainder. Updates the 64-bit value in-place. Part of Grisu float formatting for double precision. |
| 0x00590430 | 303 | CFmt__format_and_print_stderr | Formats a message using a callback function into a stack buffer (500 bytes, growable), then writes the result to stderr via fwrite followed by a newline. Cleans up the buffer after output. |
| 0x00590560 | 24 | CFmt__report_system_error | Reports a POSIX system error to stderr. Wrapper that calls CFmt__format_and_print_stderr with CFmt__format_system_error_to_buffer as the formatter callback. |
| 0x00590580 | 24 | CFmt__report_windows_error | Reports a Windows system error to stderr. Wrapper that calls CFmt__format_and_print_stderr with CFmt__format_windows_error as the formatter callback. |
| 0x005905A0 | 373 | CFmt__stringbuf_seekoff | stringbuf seekoff virtual implementation. Repositions get/put pointers based on seek mode (0=beg, 1=cur, 2=end). Validates that the new position is within buffer bounds. Updates get area (flag bit 0) and/or put area (flag bit 1) pointers as requested. |
| 0x00590720 | 246 | CFmt__stringbuf_seekpos | stringbuf seekpos virtual implementation. Repositions get/put pointers to an absolute position (param_3+param_5). Validates bounds and updates get area (flag bit 0) and put area (flag bit 1) as specified by param_9. |
| 0x00590820 | 206 | CFmt__get_file_size | Gets the size of a file via GetFileSize + _get_osfhandle. Returns the 64-bit file size. Throws system_error with "cannot get file size" on failure. |
| 0x005908F0 | 1100 | CFmt__bigint_square | BigInteger squaring (self-multiply). Copies input to temp buffer, ensures output capacity is 2x input size, then performs schoolbook multiplication of the number with itself. Stores result back, trims leading zeros, and doubles the exponent. Part of Grisu/Dragonbox big number arithmetic. |
| 0x00590D40 | 163 | CFmt__get_locale_singleton | Returns the singleton locale facet instance. Thread-safe initialization via init_thread_header/epoch_counter. Constructs the facet on first call with a vtable pointer and registers atexit cleanup. |
| 0x00590DF0 | 190 | CFmt__throw_format_error | Throws a fmt::format_error exception. Constructs an exception object with the given error message string, wraps it in a system_error, and throws via _CxxThrowException. Does not return. |
| 0x00590EB0 | 334 | CFmt__to_lower_wstring | Converts a multibyte string to a lowercase wide string. First converts the input std::string to a wide string via convert_multibyte_to_widechar, then applies towlower to each character. Returns the result as a std::wstring. |
| 0x00591000 | 39 | CFmt__buffer_set_size | Sets the logical size of a memory buffer. If the requested size exceeds capacity, calls the grow function via vtable first. Clamps the size to capacity if needed. |
| 0x00591030 | 138 | CFmt__multiply_64x64_to_128 | Performs 64-bit x 64-bit multiplication producing a 128-bit result. Input is two 32-bit pairs (param_2:param_3 and param_4:param_5). Result stored in param_1[0..3] from low to high. Used by Grisu/Dragonbox for extended precision arithmetic. |
| 0x00591120 | 334 | CFmt__utf8_decode | Decodes a UTF-8 byte sequence into a Unicode codepoint. Handles 1-4 byte sequences using lookup tables for masks, shifts, and validation. Stores decoded codepoint in param_2, error flags in param_3. Returns pointer past the consumed bytes. |
| 0x00591270 | 382 | CFmt__format_to_string_00591270 | Formats arguments into a std::string using fmtlib. Formats into a 500-byte stack buffer (growable), then assigns the result to the output string via STL_string_assign_buffer. Cleans up the temporary buffer. |
| 0x005913F0 | 475 | CFmt__format_print_to_file | Formats arguments and prints to a FILE with console-aware output. Formats into a stack buffer, then checks if the file is a TTY. If TTY, converts UTF-8 to wide and uses WriteConsoleW. Otherwise falls back to fwrite. Cleans up buffer. |
| 0x005915D0 | 479 | CFmt__format_print_to_stdout | Formats arguments and prints to stdout with console-aware output. Gets stdout via __acrt_iob_func(1), formats into a stack buffer, then writes via WriteConsoleW (if TTY) or fwrite (if redirected). Implements fmt::print(). |
| 0x005917B0 | 295 | CFmt__format_write_to_file | Formats arguments and writes to a FILE without console detection. Formats into a 500-byte stack buffer (growable), then writes via CFmt__fwrite_or_throw. Simpler than format_print_to_file -- no WriteConsoleW path. |
| 0x005918E0 | 168 | CFmt__make_system_error | Creates a system_error exception object. Formats an error message string, constructs an STL exception with error code, and sets the vtable to the fmtlib system_error type. Used by file I/O error reporting. |
| 0x00591990 | 281 | CFmt__make_system_error_with_locale | Creates a system_error with locale-aware formatting. Similar to CFmt__make_system_error but initializes the locale singleton first (thread-safe). Formats error message, constructs exception, sets fmtlib system_error vtable. |
| 0x00591AB0 | 262 | CFmt__write_to_fd | Writes data to a file descriptor via _write(). Throws system_error with "cannot write to file" message if _write returns -1. Returns bytes written on success. |
| 0x00591BC0 | 221 | CFmt__try_write_console | Attempts to write data to a console using WriteConsoleW. Checks if the file is a TTY, converts UTF-8 to wide chars, then calls WriteConsoleW. Returns 1 on success, 0 if not a TTY or WriteConsoleW fails (caller should use fwrite instead). |
| 0x00591CA0 | 131 | CFmt__locale_facet_ctor | Constructs a fmtlib locale facet object. Sets vtable pointers (_Facet_base and locale_facet), initializes two fields by calling CFmt__func_00599ca0 for thousands_sep (arg=2) and decimal_point (arg=1) locale data. |
| 0x00591D30 | 72 | CFmt__locale_facet_dtor | Destructor for fmtlib locale facet. Resets vtable pointers in reverse order of construction (locale_facet vtable first, then _Facet_base vtable). SEH frame for exception safety. |
| 0x00591D90 | 97 | CFmt__locale_facet_scalar_deleting_dtor | Scalar deleting destructor for fmtlib locale facet. Sets vtable pointers, then conditionally frees the 12-byte object (if bit 0 of param_2 is set). SEH frame for exception safety. |
| 0x00591E30 | 37 | CFmt__locale_facet_reinit | Reinitializes locale facet data fields without full reconstruction. Updates thousands_sep (offset +4, arg=2) and decimal_point (offset +8, arg=1) by calling CFmt__func_00599ca0. |
| 0x00591E60 | 74 | CFmt__locale_lookup_string | Looks up a string by name using the locale facet. Computes the string length, converts it via CFmt__func_005994b0, then calls the virtual lookup method (vtable offset +4) on the facet's cached data. Returns the lookup result or 0 if the string is null/empty. |
| 0x00596CA0 | 102 | CFmt__destroy_arg_vector_and_nodes_24 | fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597160, destroys 0x24-byte hash/node entries via CFmt__func_00593050, then frees the node buffer. |
| 0x00596D10 | 102 | CFmt__destroy_arg_vector_and_nodes_2c | fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_005971f0, destroys 0x2C-byte hash/node entries via CFmt__func_005930c0, then frees the node buffer. |
| 0x00596D80 | 102 | CFmt__destroy_arg_vector_and_nodes_18 | fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597280, destroys 0x18-byte hash/node entries via CFmt__func_00593160, then frees the node buffer. |
| 0x00596DF0 | 102 | CFmt__destroy_arg_vector_and_nodes_3c | fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597310, destroys 0x3C-byte hash/node entries via CFmt__func_005931d0, then frees the node buffer. |
| 0x00596E60 | 102 | CFmt__destroy_arg_vector_and_nodes_24b | fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_005973a0, destroys 0x24-byte hash/node entries via CFmt__func_00593250, then frees the node buffer. |
| 0x00596ED0 | 102 | CFmt__destroy_arg_vector_and_nodes_24c | fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597430, destroys 0x24-byte hash/node entries via CFmt__func_005932c0, then frees the node buffer. |
| 0x00596F40 | 102 | CFmt__destroy_arg_vector_and_nodes_28 | fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_005974c0, destroys 0x28-byte hash/node entries via CFmt__func_00593330, then frees the node buffer. |
| 0x00596FB0 | 131 | CFmt__destroy_arg_linked_list_and_vector | fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597550, then walks a singly-linked list of 0x10-byte nodes freeing each, and frees the sentinel/head (0x10 bytes). |
| 0x00597040 | 125 | CFmt__deallocate_vector_00597040 | fmtlib internal vector deallocator. Computes buffer size from (end - begin) masked to 4-byte alignment, handles large allocations (>0xFFF) by finding the real allocation base at ptr[-1], then frees and zeros begin/end/capacity pointers. |
| 0x005970D0 | 125 | CFmt__deallocate_vector_005970d0 | fmtlib internal vector deallocator. Same pattern as 00597040: computes buffer size from (end - begin) & ~3, handles large allocs via backing pointer, frees and zeros the vector triple (begin/end/capacity). |
| 0x00597160 | 125 | CFmt__deallocate_vector_00597160 | fmtlib internal vector deallocator. Same pattern: computes buffer size from (end - begin) & ~3, handles large allocs via backing pointer, frees and zeros the vector triple. |
| 0x005971F0 | 125 | CFmt__deallocate_vector_005971f0 | fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. |
| 0x00597280 | 125 | CFmt__deallocate_vector_00597280 | fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. |
| 0x00597310 | 125 | CFmt__deallocate_vector_00597310 | fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. |
| 0x005973A0 | 125 | CFmt__deallocate_vector_005973a0 | fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. |
| 0x00597430 | 125 | CFmt__deallocate_vector_00597430 | fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. |
| 0x005974C0 | 125 | CFmt__deallocate_vector_005974c0 | fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. |
| 0x00597550 | 125 | CFmt__deallocate_vector_00597550 | fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. |
| 0x005975E0 | 78 | CFmt__destroy_arg_simple_10 | fmtlib simple format arg destructor. Checks if member at [this+4] is non-null, if so frees it as a 0x10-byte allocation. |
| 0x00597630 | 123 | CFmt__destroy_arg_string_and_delete_40 | fmtlib format arg destructor for string-containing type. If member at [this+4] is non-null, destroys the embedded STL string via STL_string_dtor, then frees the 0x40-byte container. |
| 0x005976B0 | 116 | CFmt__destroy_arg_string_and_delete_24 | fmtlib format arg destructor for string-containing type. If member at [this+4] is non-null, destroys the embedded STL string, then frees the 0x24-byte container. |
| 0x00597730 | 155 | CFmt__destroy_arg_compound_vector_and_nodes | fmtlib compound format arg destructor. If inner pointer at [this+4] is non-null: deallocates the inner vector, destroys 0x3C-byte node entries at offset+0x10, then frees the 0x2C-byte outer container. |
| 0x005977D0 | 116 | CFmt__destroy_arg_json_vector_and_delete_18 | fmtlib format arg destructor for JSON vector type. If member at [this+4] is non-null, clears the JSON vector via json__vector_clear_and_free_4byte, then frees the 0x18-byte container. |
| 0x00597850 | 126 | CFmt__destroy_arg_string_and_delete_3c | fmtlib format arg destructor for string-containing type. Destroys embedded STL string at [this+4], then frees the 0x3C-byte container. |
| 0x005978D0 | 113 | CFmt__destroy_arg_string_and_delete_24b | fmtlib format arg destructor for string-containing type. Destroys embedded STL string at [this+4], then frees the 0x24-byte container. |
| 0x00597950 | 113 | CFmt__destroy_arg_string_and_delete_24c | fmtlib format arg destructor for string-containing type. Destroys embedded STL string at [this+4], then frees the 0x24-byte container. Variant c. |
| 0x005979D0 | 113 | CFmt__destroy_arg_string_and_delete_28 | fmtlib format arg destructor for string-containing type. Destroys embedded STL string at [this+4], then frees the 0x28-byte container. |
| 0x00597A50 | 78 | CFmt__destroy_arg_simple_10b | fmtlib simple format arg destructor. Checks if member at [this+4] is non-null, frees as 0x10-byte allocation. Same pattern as 005975e0. |
| 0x00597AA0 | 116 | CFmt__destroy_arg_stub_and_delete_10 | fmtlib format arg destructor. Calls null_stub_00ae81a0 on the member, then frees the 0x10-byte container. The stub call may be a no-op dtor for a trivial type. |
| 0x00597B20 | 92 | CFmt__destroy_arg_virtual_release | fmtlib format arg destructor with virtual release. Reads a pointer at param_1[9], calls its virtual method at vtable+0x10 (likely Release/destroy), then zeros the pointer. Used for ref-counted or COM-like format arg types. |
| 0x00597B80 | 103 | CFmt__destroy_linked_list_nodes | fmtlib linked list destructor. Zeros the count via sentinel->next->value=0, then walks the singly-linked list from head, freeing each 0x10-byte node, and finally frees the sentinel node. |
| 0x00597BF0 | 73 | CFmt__destroy_nodes_and_delete_40 | fmtlib node array destructor. Calls CFmt__func_00592fd0 to destroy elements in the 0x40-byte node buffer, then frees the buffer. |
| 0x00597C40 | 73 | CFmt__destroy_nodes_and_delete_24 | fmtlib node array destructor. Calls CFmt__func_00593050 to destroy elements in the 0x24-byte node buffer, then frees the buffer. |
| 0x00597C90 | 73 | CFmt__destroy_nodes_and_delete_2c | fmtlib node array destructor. Calls CFmt__func_005930c0 to destroy elements in the 0x2C-byte node buffer, then frees the buffer. |
| 0x00597CE0 | 73 | CFmt__destroy_nodes_and_delete_18 | fmtlib node array destructor. Calls CFmt__func_00593160 to destroy elements in the 0x18-byte node buffer, then frees the buffer. |
| 0x00597D30 | 73 | CFmt__destroy_nodes_and_delete_3c | fmtlib node array destructor. Calls CFmt__func_005931d0 to destroy elements in the 0x3C-byte node buffer, then frees the buffer. |
| 0x00597D80 | 73 | CFmt__destroy_nodes_and_delete_24b | fmtlib node array destructor. Calls CFmt__func_00593250 to destroy elements in the 0x24-byte node buffer, then frees the buffer. |
| 0x00597DD0 | 73 | CFmt__destroy_nodes_and_delete_24c | fmtlib node array destructor. Calls CFmt__func_005932c0 to destroy elements in the 0x24-byte node buffer, then frees the buffer. |
| 0x00597E20 | 73 | CFmt__destroy_nodes_and_delete_28 | fmtlib node array destructor. Calls CFmt__func_00593330 to destroy elements in the 0x28-byte node buffer, then frees the buffer. |
| 0x00597E70 | 103 | CFmt__destroy_linked_list_nodes_b | fmtlib linked list destructor. Zeros count via sentinel, walks singly-linked list of 0x10-byte nodes freeing each, then frees the sentinel. Same pattern as 00597b80. |
| 0x00597EE0 | 73 | CFmt__destroy_nodes_and_delete_10 | fmtlib node array destructor. Calls CFmt__func_005933a0 to destroy elements in the 0x10-byte node buffer, then frees the buffer. |
| 0x00597F30 | 80 | CFmt__destroy_arg_string_member | fmtlib format arg destructor. Destroys the STL string member at [this+4] via STL_string_dtor. Does not free the container itself (string is embedded, not heap-allocated separately). |
| 0x00597F80 | 115 | CFmt__destroy_arg_vector_and_nodes_3c_offset8 | fmtlib compound format arg destructor. Deallocates the vector at offset 0 via CFmt__deallocate_vector_00597310, then destroys 0x3C-byte node entries at [this+8] and frees the node buffer. Uses offset 8 instead of 4 for the node pointer. |
| 0x00598000 | 83 | CFmt__destroy_arg_string_member_b | fmtlib format arg destructor. Destroys the STL string member at [this+4] via STL_string_dtor. Same pattern as 00597f30. |
| 0x00598060 | 65 | CFmt__destroy_arg_string_direct | fmtlib format arg destructor. Directly destroys an STL string at the given param address via STL_string_dtor. Minimal wrapper with SEH frame. |
| 0x005980B0 | 65 | CFmt__destroy_arg_delegated | fmtlib format arg destructor. Delegates destruction to CFmt__func_00596ba0 which handles the actual cleanup. Thin SEH wrapper. |
| 0x00598100 | 102 | CFmt__destroy_arg_hash_string_40 | fmtlib format arg destructor for hash map type. Deallocates vector via CFmt__deallocate_vector_005970d0, then destroys hash bucket list with 0x40-byte string nodes via STL_hash_list_destroy_string_nodes_40, and frees the bucket array. |
| 0x00598170 | 102 | CFmt__destroy_arg_hash_string_24 | fmtlib format arg destructor for hash map type. Deallocates vector via CFmt__deallocate_vector_00597160, then destroys hash bucket list with 0x24-byte string nodes via STL_hash_list_destroy_string_nodes_24, and frees the bucket array. |
| 0x005981E0 | 102 | CFmt__destroy_arg_hash_complex_2c | fmtlib format arg destructor for hash map type. Deallocates vector via CFmt__deallocate_vector_005971f0, then destroys hash bucket list with 0x2C-byte complex nodes via STL_hash_list_destroy_complex_nodes_2c, and frees the bucket array. |
| 0x00598250 | 102 | CFmt__destroy_arg_hash_vector_18 | fmtlib format arg destructor for hash map type. Deallocates vector via CFmt__deallocate_vector_00597280, then destroys hash bucket list with 0x18-byte vector nodes via STL_hash_list_destroy_vector_nodes_18, and frees the bucket array. |
| 0x005982C0 | 102 | CFmt__destroy_hashmap_3c_entry | SEH-protected destructor for a CFmt hash map entry with 0x3c-byte string nodes. Deallocates the vector then destroys hash list nodes and frees the bucket array. |
| 0x00598330 | 102 | CFmt__destroy_hashmap_24a_entry | SEH-protected destructor for a CFmt hash map entry with 0x24-byte string nodes (variant A). Deallocates vector then destroys hash list nodes and frees bucket array. |
| 0x005983A0 | 102 | CFmt__destroy_hashmap_24b_entry | SEH-protected destructor for a CFmt hash map entry with 0x24-byte string nodes (variant B). Deallocates vector then destroys hash list nodes and frees bucket array. |
| 0x00598410 | 102 | CFmt__destroy_hashmap_28_entry | SEH-protected destructor for a CFmt hash map entry with 0x28-byte string nodes. Deallocates vector then destroys hash list nodes and frees bucket array. |
| 0x00598480 | 65 | CFmt__destroy_arg_list_seh_wrapper | SEH wrapper that calls CFmt__destroy_arg_linked_list_and_vector to clean up an argument linked list and its associated vector. |
| 0x005984D0 | 68 | CFmt__destroy_string_seh_wrapper | SEH wrapper that calls STL_string_dtor to destroy an STL string member of CFmt. |
| 0x00598520 | 799 | CFmt__dtor | CFmt destructor. Tears down the entire object: sets vtable, releases ref-counted object at +8, deactivates UI events (counters 5/6/7), destroys 13+ internal hash maps of various node types (string 0x40/0x24/0x28/0x3c, complex 0x2c, vector 0x18, trivial 0x10), deallocates associated vectors, and frees bucket arrays. Object size is 0x1d8 bytes. |
| 0x00598910 | 75 | CFmt__clear_name_hashmap | Clears the name hash map (0x40-byte string nodes). Destroys all nodes, resets sentinel pointers and count, then fills bucket array with sentinel pointer. |
| 0x00598960 | 75 | CFmt__clear_category_hashmap | Clears a category hash map (0x24-byte string nodes). Destroys all nodes, resets sentinel and count, fills bucket array with sentinel. |
| 0x005989B0 | 75 | CFmt__clear_complex_node_hashmap | Clears a complex node hash map (0x2c-byte nodes). Destroys all nodes, resets sentinel and count, fills bucket array with sentinel. |
| 0x00598A00 | 75 | CFmt__clear_vector_node_hashmap | Clears a vector node hash map (0x18-byte nodes containing vectors). Destroys all nodes, resets sentinel and count, fills bucket array with sentinel. |
| 0x00598A50 | 75 | CFmt__clear_string_3c_hashmap | Clears a string hash map with 0x3c-byte nodes. Destroys all nodes, resets sentinel and count, fills bucket array with sentinel. |
| 0x00598AD0 | 145 | CFmt__clear_trivial_int_hashmap | Clears an unordered_map with trivial 0x10-byte int nodes. Walks the linked list freeing each node, resets sentinel and count, fills bucket array. SEH-protected. |
| 0x00598BF0 | 65 | CFmt__destroy_string_seh_wrapper_2 | SEH wrapper that calls STL_string_dtor to destroy an STL string. Second variant used in a different destruction context. |
| 0x00598C40 | 38 | CFmt__scalar_deleting_dtor | CFmt scalar deleting destructor. Calls CFmt__dtor, then optionally frees the 0x1d8-byte object if bit 0 of param_2 is set. |
| 0x00598C70 | 654 | CFmt__clear_all_data | Clears all CFmt data containers: name map (0x40 nodes), complex map (0x2c nodes), vector map (0x18 nodes), two int-keyed maps, category maps (0x24 nodes), linked list entries (frees string+vector per entry), resets counters at +0x19c/0x1a8/0x1bc, and calls additional clear helpers. |
| 0x00598F00 | 60 | CFmt__clear_priority_list_and_counters | Clears the priority linked list at offset +0x1b0 (trivial 0x10 nodes), resets counters at +0x1a8 and +0x1bc to their base values at +0x1a4 and +0x1b8. |
| 0x00598F40 | 218 | CFmt__clear_sortable_list_entries | Iterates the sortable list linked list at offset +0x17c, destroying each entry's vector (with large-block deallocation) and string, then frees the 0x24-byte entry. Finishes by clearing the associated hash map. |
| 0x00599020 | 18 | CFmt__hide_child_panel | Hides the child panel by calling UIWindow__toggle_child_panel_visibility(0), but only if the global CFmt instance (DAT_01457848) is non-null. |
| 0x00599040 | 1057 | CFmt__rebuild_sortable_list_with_time_filter | Rebuilds the sortable list from source data. First clears existing entries, gets current time, then iterates all categories. For each item: checks if current category matches, checks exclusion list and time-based availability windows, computes FNV-1a hash of category string for hash map lookup, creates CSortableListItem entries, inserts into hash map (with rehash if needed), or appends to existing entries. |
| 0x00599470 | 50 | CFmt__find_index_by_string_key | Looks up a string key in the hash map at offset +0x118 (via STL_unordered_map_find_string_key). Returns the value at node+0x20 if found, or -1 (0xFFFFFFFF) if not found. |
| 0x005994B0 | 376 | CFmt__find_index_by_cstring | Looks up a C-string in the hash map at offset +0x118. Computes strlen, creates temp STL string, computes FNV-1a hash, searches hash map. Returns value at node+0x20 if found, or -1 if null/empty/not found. Frees temp string on exit. |
| 0x00599630 | 22 | CFmt__calc_elapsed_time_offset | Calculates elapsed time offset: returns (param_2 - field_0x1d0) - field_0x1cc. Used for time-based availability filtering of items. |
| 0x00599650 | 162 | CFmt__get_or_create_instance | Singleton getter/creator for CFmt. If global DAT_013896c4 is null, allocates 0x1d8 bytes and calls CHashTable__ctor. If construction succeeds (flag at +4 is set), returns 1. Otherwise destroys via virtual dtor and returns 0. |
| 0x00599700 | 42 | CFmt__destroy_instance | Destroys the CFmt singleton. If DAT_013896c4 is non-null: clears all data via CFmt__clear_all_data, then calls virtual destructor with delete flag, sets global pointer to null. |
| 0x00599730 | 257 | CFmt__handle_chat_command | Handles a chat command string. If global instance exists and its +0x13c field is set: parses the command (strips leading '/'), looks up in hash map via STL_unordered_map_find_string_key_v2. If found, shows panel and calls UIPartyMatchWnd__set_data_source. If not found or null/empty, hides the child panel. |
| 0x00599840 | 127 | CFmt__lookup_and_apply_format | Wrapper that sets up a hash iterator callback context and calls CFmt__lookup_or_insert_by_lowercase_string with member offsets +0xb0 and +0x90. |
| 0x005998C0 | 74 | CFmt__find_string_by_int_key_94 | Finds a string value by integer key in the hash map at offset +0x94. Uses _Find_last to locate the node; returns pointer to string data (handles SSO: inline if <= 0xF bytes, else follows pointer), or null if not found. |
| 0x00599910 | 18 | CFmt__find_string_by_category_and_item | Thin wrapper: calls CFmt__find_item_string_by_category_and_id with the current category ID (field +0xC) and the given item param. |
| 0x00599930 | 814 | CFmt__search_items_by_pattern | Searches items by string pattern. Gets current category items, then for each item: looks up subcategory and item details via nested hash maps. If param_3 is non-null, uses strstr to match the search pattern against item strings. Matching items go to front of result vector, non-matching to back. Results are sorted via CListView__introsort. Returns vector of matching item IDs. |
| 0x00599C60 | 60 | CFmt__get_current_category_data | Gets the current category's data node. Looks up current category ID (field +0xC) in hash map at +0x34 via _Find_last. Returns node+0xC if found, or 0 if not found. |
| 0x00599CA0 | 87 | CFmt__get_emote_effect_by_char | Gets emote effect ID by character key. First looks up in the char-keyed hash map at +0x13c via STL_hash_find_last_by_char. If found, returns value at node+0xC. If not found, falls back to CEmoteMgr__get_emote_effect_id. |
| 0x00599D00 | 110 | CFmt__find_item_node_by_category_and_id | Two-level lookup: finds an item node by category ID (param_2) and item ID (param_3). Both must be >= 0. Looks up category in hash map at +0x34, then item within category's submap at +0x10. Returns node+0xC if found, or 0. |
| 0x00599D70 | 110 | CFmt__find_item_string_by_category_and_id | Two-level lookup returning a string pointer. Finds category by param_2 in hash map at +0x34, then item by param_3 in submap at +0x10. Returns pointer to string data (handles SSO: inline if capacity <= 0xF, else follows pointer), or null if not found. |
| 0x00599DE0 | 337 | CFmt__get_items_vector_by_category | Gets a vector of item IDs for a given category. Looks up category by param_3 in hash map at +0x54 via _Find_last. If found, copies the item ID vector from the category node. Returns output vector param_2 (empty if category not found). |
| 0x00599F50 | 49 | CFmt__find_sortable_entry_by_string | Finds a sortable entry by string key in hash map at +0x15c via STL_unordered_map_find_string_key_v2. Returns value at node+0x20 if found, or 0 if not found. |
| 0x00599F90 | 122 | CFmt__find_data_by_string_key_70 | Finds data by string key in the hash map at offset +0x70. Computes FNV-1a hash of the string (handles SSO), searches via STL_hash_find_last_by_string_00592e90. Returns pointer to node+0x20 data if found, or 0 if not found. |
| 0x0059A010 | 35 | CFmt__get_min_priority | Finds the minimum priority value across all nodes in the linked list at offset +0x1b0. Iterates all nodes checking field at node+3 (node[3]). Returns the minimum value found, or 0x7FFFFFFF if the list is empty. |
| 0x0059A040 | 63 | CFmt__find_subcategory_by_int_key | Finds a subcategory node by integer key in hash map at +0x34. Uses _Find_last for lookup. Returns node+0xC if found, or 0 if not found. |
| 0x0059A080 | 63 | CFmt__find_name_entry_by_int_key | Finds a name entry node by integer key in hash map at +0x14. Uses _Find_last for lookup. Returns node+0xC if found, or 0 if not found. |
| 0x0059A0C0 | 71 | CFmt__get_name_string_ptr_by_int_key | Gets name string pointer by integer key from hash map at +0x14. Uses _Find_last for lookup. Returns pointer to string data (handles SSO: returns inline buffer if capacity <= 0xF, else follows pointer), or null if not found. |
| 0x0059A110 | 64 | CFmt__get_name_int_value_by_key | Gets an integer value (at node offset +0x24) by integer key from hash map at +0x14. Returns -1 (0xFFFFFFFF) if not found. |
| 0x0059A150 | 46 | CFmt__find_priority_node_by_id | Finds a priority node by ID in the linked list at offset +0x1b0. Iterates nodes comparing node[2] to param_2. Returns pointer to node[3] (priority value) if found, or null if not found. |
| 0x0059A180 | 49 | CFmt__find_sortable_data_by_string | Finds sortable data by string key in hash map at +0x17c via STL_unordered_map_find_string_key_v2. Returns value at node+0x20 if found, or 0 if not found. |
| 0x0059A1C0 | 94 | CFmt__get_filtered_exclusion_list | Wrapper that calls CFmt__func_0059a820 with the exclusion list vector at offset +0x1a4 and the given parameters. Used to get a filtered list excluding certain entries. |
| 0x0059A220 | 830 | CFmt__lookup_or_insert_by_lowercase_string | Complex lookup/insert by lowercase string. Converts input string to lowercase, computes FNV-1a hash, searches hash map. If not found and a callback is provided: invokes callback to generate a value, inserts into hash map (string key -> value), optionally also inserts into secondary emplace map. If found, returns stored value. Returns -1 if not found and no callback. |
| 0x0059A560 | 67 | CFmt__get_string_ptr_from_member_map | Gets string pointer by integer key from a member hash map at offset +0x4 (relative to param_1). Uses _Find_last for lookup. Returns string data pointer (handles SSO), or null if not found. |
| 0x0059A5B0 | 63 | CFmt__get_field_2c_by_int_key | Gets integer value at node offset +0x2c by integer key from hash map at +0x14. Uses _Find_last for lookup. Returns 0 if not found. |
| 0x0059A5F0 | 63 | CFmt__get_field_28_by_int_key | Gets integer value at node offset +0x28 by integer key from hash map at +0x14. Uses _Find_last for lookup. Returns 0 if not found. |
| 0x0068DFA0 | 825 | CFmt__out_write_with_line_breaks_narrow | {fmt} library: Writes narrow (char) format output into a wchar buffer with line-break tracking. Reads chars from an SSO string, accumulates line positions, and copies source data with separator insertions. Uses CFmt__uint32_buffer_grow for overflow. |
| 0x0068E2E0 | 821 | CFmt__out_write_with_line_breaks_wide | {fmt} library: Writes wide (wchar) format output into a wchar buffer with line-break tracking. Same logic as narrow variant but reads wchar input. Uses CFmt__uint32_buffer_grow for overflow. |
| 0x0068E620 | 94 | CFmt__out_copy_wchars_to_buffer | {fmt} library: Copies a range of wchars [param_2, param_3) into the output buffer at param_4. Grows buffer via vtable call if capacity exceeded. |
| 0x0068E680 | 101 | CFmt__out_copy_chars_to_wbuffer | {fmt} library: Copies narrow chars [param_2, param_3) into a wchar output buffer, widening each char to short. Grows buffer via vtable if needed. |
| 0x0068E6F0 | 94 | CFmt__out_copy_wchars_to_buffer_0068e6f0 | {fmt} library: Copies wchars to wchar output buffer. Identical to CFmt__out_copy_wchars_to_buffer but at different address (template instantiation). |
| 0x0068E750 | 74 | CFmt__out_copy_chars_to_wbuffer_0068e750 | {fmt} library: Copies narrow chars to wchar buffer with widening. Identical to CFmt__out_copy_chars_to_wbuffer but at different address (template instantiation). |
| 0x0068E7A0 | 488 | CFmt__out_parse_arg_id_wide | {fmt} library: Parses an argument ID from format string for precision resolution. Handles numeric IDs (0-9...), named IDs (identifiers), and validates against auto/manual indexing mode. Calls CFmt__parse_validate_precision on the resolved argument. |
| 0x0068E990 | 487 | CFmt__out_parse_arg_id_for_width | {fmt} library: Parses an argument ID from format string for width resolution. Same as precision variant but calls CFmt__parse_validate_width. |
| 0x0068EB80 | 1291 | CFmt__out_format_float32 | {fmt} library: Formats a 32-bit float value with alignment, sign, locale, fixed/scientific/general notation. Handles decimal point positioning, padding, sign prefix, and locale-aware grouping. Delegates to CFmt__render_* and CFmt__buf_* for final output. |
| 0x0068F090 | 1611 | CFmt__out_format_float64 | {fmt} library: Formats a 64-bit double value with alignment, sign, locale, fixed/scientific/general notation. Extended version of float32 formatter handling 64-bit mantissa/exponent. Delegates to CFmt__render_* and CFmt__buf_* for final output. |
| 0x0068F6E0 | 1286 | CFmt__out_format_float_general | {fmt} library: General float formatting for values whose digits come from an external digits buffer (param_3). Handles fixed/scientific/general notation, sign prefix, locale grouping, and padding. Uses CFmt__render_* and CFmt__buf_* helpers. |
| 0x0068FBF0 | 37 | CFmt__out_compare_two_wchars | {fmt} library: Compares two wchar pairs. Returns 1 in low byte if both pairs match; otherwise returns difference info in high byte. |
| 0x0068FC20 | 158 | CFmt__out_fill_padding | {fmt} library: Fills output buffer with padding. If fill pattern is 1 wchar, delegates to single-char repeat. Otherwise copies the multi-char fill pattern param_3 times. |
| 0x0068FCC0 | 81 | CFmt__out_fill_wchar_n_times | {fmt} library: Writes a single wchar value (param_4) into output buffer param_3 times. Only writes if param_3 > 0. Grows buffer via vtable if capacity exceeded. |
| 0x0068FD20 | 81 | CFmt__out_fill_wchar_repeat | {fmt} library: Writes a single wchar value into output buffer N times. Similar to fill_wchar_n_times but checks param_3 != 0 instead of > 0. |
| 0x0068FD80 | 102 | CFmt__out_find_escape_char | CFmt: out find escape char |
| 0x0068FEF0 | 194 | CFmt__out_format_escaped_pair | {fmt} library: Formats an escaped string pair (two wstring arguments). Extracts the SSO buffer pointers and lengths, then calls CFmt__vformat_to_wstring with type code 0xdd. |
| 0x0068FFC0 | 161 | CFmt__out_format_escaped_single | {fmt} library: Formats a single escaped wstring argument. Extracts SSO buffer pointer and length, then calls CFmt__vformat_to_wstring with type code 0xd. |
| 0x00690070 | 183 | CFmt__parse_format_double_arg | {fmt} library: Formats a double argument using format_to_string. Extracts the 8-byte double and an extra param, then calls CFmt__format_to_string_00591270 with type code 0x1a. |
| 0x00690130 | 138 | CFmt__write_uint32_decimal_to_wbuffer | {fmt} library: Writes a uint32 value as decimal digits into a wchar buffer. Uses a lookup table for 2-digit pairs (00-99) to convert efficiently. Writes in reverse from the end of the buffer. |
| 0x006901C0 | 309 | CFmt__write_uint64_decimal_to_wbuffer | {fmt} library: Writes a uint64 value (param_2:param_3) as decimal digits into a wchar buffer. Uses 64-bit division by 100 with the lookup table for 2-digit pairs. Writes in reverse from position param_4. |
| 0x00690300 | 216 | CFmt__write_uint32_hex_to_wbuffer | {fmt} library: Writes a uint32 as hexadecimal digits into a wchar output buffer. Supports uppercase (ABCDEF) or lowercase (abcdef) based on param_5. Tries in-place write first; falls back to stack buffer + copy. |
| 0x006903E0 | 162 | CFmt__parse_validate_precision | {fmt} library: Validates a precision value from a format argument. Handles 4 cases: (1) use value, error if negative; (2) use zero; (3) keep existing, error if negative; (4) pass-through. Errors if value >= 0x80000000. |
| 0x006904C0 | 162 | CFmt__parse_validate_width | {fmt} library: Validates a width value from a format argument. Same logic as precision validator but with "negative width" and "width is not integer" error messages. |
| 0x006905A0 | 180 | CFmt__parse_find_named_arg | {fmt} library: Searches for a named argument by comparing wchar name (param_2, length param_3) against a list of registered named arguments. Returns the argument index or -1 if not found. Only active if arg list has the 0x40000000 flag. |
| 0x00690660 | 234 | CFmt__parse_rbtree_insert_uint | {fmt} library: Inserts a uint key into a red-black tree (std::set<uint>). Uses _Find_lower_bound to locate insertion point. If key already exists, returns existing node. Otherwise allocates a 0x14-byte node and calls Insert_node. |
| 0x00690750 | 388 | CFmt__parse_arg_index | {fmt} library: Parses an argument index from the format string. Handles auto-indexing (} or :), explicit numeric index, and named argument lookup. Validates against auto/manual mode switching. Returns the resolved argument index. |
| 0x006908E0 | 202 | CFmt__parse_float_type_specifier | {fmt} library: Converts a float type specifier enum to an output format descriptor. Maps type codes (0=default, 7=a, 8=A, 9=e, 10=E, 11=f, 12=F, 13=d, 14=g) to internal representation with sign/uppercase flags. |
| 0x006909E0 | 1245 | CFmt__parse_format_specs | {fmt} library: Parses the full format specification after the colon in {id:spec}. Handles fill/align, sign (+/-/space), # flag, 0 flag, width (literal or {arg}), precision (.N or .{arg}), L locale flag, and type character (d,x,o,b,s,c,p,etc). Returns pointer past the closing }. |
| 0x00690EC0 | 407 | CFmt__parse_format_string_body | {fmt} library: Parses the body of a format string, processing literal text and {replacement fields}. For short strings (<64 wchars), uses inline loop. For longer strings, calls a separate path. Handles escaped {{ and }} (doubled braces). Calls CFmt__parse_replacement_field for each { found. |
| 0x00691060 | 140 | CFmt__parse_nonneg_int_0068 | {fmt} library: Parses a non-negative integer from a wchar string. Reads decimal digits, accumulates value. Returns param_3 (max value) if the number overflows (>10 digits or >INT_MAX). Updates the position pointer past the digits. |
| 0x006910F0 | 105 | CFmt__parse_type_char_to_enum | {fmt} library: Converts a type specifier character to its internal enum value. Maps: d=1, o=2, x=3, X=4, b=5, B=6, a=7, A=8, e=9, E=10, f=11, F=12, g=13, G=14, c=15, s=16, p=17, ?=18. Returns 0 for unknown. |
| 0x006911F0 | 677 | CFmt__parse_replacement_field | {fmt} library: Parses a single replacement field {...} from a format string. Resolves the argument index (auto or explicit), parses format specs after ':', invokes the appropriate formatter via CFmt__format_arg_dispatch, and returns pointer past the closing }. |
| 0x006914A0 | 42 | CFmt__buffer_try_reserve | {fmt} library: Tries to reserve space in the wchar output buffer. If offset+count <= capacity, advances offset and returns the write pointer. Otherwise returns 0 (caller must grow buffer). |
| 0x006914D0 | 126 | CFmt__buffer_to_wstring | {fmt} library: Converts a wchar buffer (pointer + count from param_2+8/param_2+4) into an std::wstring. Initializes the SSO wstring and copies the buffer contents via STL_wstring_assign. |
| 0x00691550 | 387 | CFmt__vformat_to_wstring | {fmt} library: Top-level vformat_to_wstring. Allocates a 500-wchar stack buffer, calls CFmt__vformat_dispatch to process the format string and args, then converts the result buffer to an std::wstring. Frees heap buffer if it grew beyond stack. |
| 0x006916E0 | 158 | CFmt__vformat_dispatch | {fmt} library: Dispatch function for vformat. Short-circuits the common case of a single "{}" by directly formatting arg 0. Otherwise calls CFmt__parse_format_string_body to process the full format string. |
| 0x00691780 | 1099 | CFmt__format_arg_dispatch | {fmt} library: Dispatches formatting based on the argument's type tag. Handles: int (1-4), bool (7), char (8), float (9), double (10-11), string/wstring (12-14), and custom formatters (15/default). Each case delegates to the appropriate render/format function. |
| 0x00691C10 | 1629 | CFmt__format_value_by_type | {fmt} library: Formats a value by its runtime type. Massive switch handling: signed int (case 1), unsigned int (case 2), signed int64 (case 3), unsigned int64 (case 4), bool (case 7), char (case 8), float (case 9), double (case 10/11), wstring (case 12-14), custom (case 15). Each case converts the value and writes formatted output to the buffer. |
| 0x006922B0 | 13 | CFmt__store_result_ptr_006922b0 | {fmt} library: Simple helper that stores a result pointer. Sets *param_1 = param_2. |
| 0x006922C0 | 341 | CFmt__format_string_with_specs | {fmt} library: Formats a wchar string with format specs applied. Validates type specifier (must be default, 's', or '?'). Computes truncated length from precision. If type is '?' (escaped), calculates escaped output length by scanning for special chars. Delegates to CFmt__render_00695340 for final output. |
| 0x00692480 | 116 | CFmt__format_signed_int_with_sign_00692480 | {fmt} library: Formats a signed 32-bit integer with sign handling. Negates if negative and prepends '-'. For non-negative values, applies sign policy from format specs ('+', ' ', or none). Delegates to CFmt__render_00694b50. |
| 0x00692500 | 933 | CFmt__format_float_value_00692500 | {fmt} library: Formats a single-precision float with full format spec support. Resolves format type via CFmt__parse_float_type_specifier. Handles sign, infinity/NaN (via CFmt__render_00695230), hex float (via CFmt__format_hex_float), and decimal notation (via CFmt__format_double_to_digits + CFmt__out_format_float_general). Uses a 500-byte stack buffer with heap fallback. |
| 0x006928B0 | 950 | CFmt__format_float_32bit | Formats a 32-bit float value. Parses format spec, handles sign, checks for NaN/Inf, dispatches to hex float or decimal formatting paths. Uses digit buffer with auto-grow. |
| 0x00692C70 | 950 | CFmt__format_float_64bit | Formats a 64-bit float (double) value. Nearly identical to 32-bit variant. Parses format spec, handles sign, NaN/Inf check, dispatches to hex float or decimal formatting. |
| 0x00693030 | 55 | CFmt__render_pointer_value | Renders a pointer value. Validates type specifier (must be default or 0x11), then delegates to CFmt__render_pointer_hex for actual hex output. |
| 0x00693070 | 367 | CFmt__render_signed_int64 | Renders a signed 64-bit integer into a wide-char buffer. Handles negative sign (0x2d = '-'), counts decimal digits, and writes with alignment padding. |
| 0x006931E0 | 233 | CFmt__render_bool | Renders a boolean value as "true" or "false" string. Validates type specifier (0x10 = bool presentation). Applies width/alignment padding. |
| 0x006932D0 | 148 | CFmt__render_padded_string | Renders a byte string with alignment padding. Calculates left/right padding based on alignment flags, outputs content between padding fills. |
| 0x00693370 | 145 | CFmt__render_char | Renders a single character with alignment. Checks type specifier 0x12 for char presentation type. Applies width padding around the character output. |
| 0x00693410 | 150 | CFmt__render_hex_escape_short | Renders a short hex escape sequence (\xNN). Writes backslash + escape char, then hex digits using "0123456789abcdef" lookup table. |
| 0x006934B0 | 18 | CFmt__skip_escape_width_4 | Returns pointer advanced by 4 bytes. Used to skip a 4-byte escape sequence width in format processing. |
| 0x006934D0 | 183 | CFmt__render_hex_escape_8digit | Renders an 8-digit hex escape sequence (\xNNNNNNNN). Similar to short variant but with 8-byte buffer for wider codepoints. |
| 0x00693590 | 16 | CFmt__skip_escape_width_6 | Returns pointer advanced by 6 bytes. Used to skip a 6-byte escape sequence width in format processing. |
| 0x006935A0 | 180 | CFmt__render_hex_escape_wide | Renders a wide hex escape sequence with 16-byte buffer. Writes backslash + type char, then variable-length hex digits for wide codepoints. |
| 0x00693660 | 16 | CFmt__skip_escape_width_10 | Returns pointer advanced by 10 bytes. Used to skip a 10-byte escape sequence width in format processing. |
| 0x00693670 | 239 | CFmt__render_char_literal_quoted | Renders a character literal wrapped in single quotes. Handles printable chars directly, non-printable/special chars via escape sequences. Special-cases single quote (0x27). |
| 0x00693760 | 290 | CFmt__render_escape_sequence | Renders escape sequences for special characters. Maps: 9->\\t, 10->\\n, 13->\\r, 0x22/0x27/0x5c->backslash prefix. Other non-printable chars use \\xNN hex escapes. |
| 0x006938F0 | 71 | CFmt__calc_escape_width | Calculates the rendered width of an escape sequence. Known escapes (\\t, \\n, etc.) return 2. Unknown escapes iterate codepoints, each contributing 4 chars (\\xNN). |
| 0x006939D4 | 1 | CFmt__format_and_write_output | CFmt output formatter: iterates format string, copies literal chars to buffer, processes escape sequences via render_escape_sequence |
| 0x00693AA0 | 143 | CFmt__calc_escaped_string_width | Calculates total rendered width of a string with escape sequences. Iterates codepoints, counting 1 for printable chars and escape width for non-printable. Adds 2 for surrounding quotes. |
| 0x00693B90 | 350 | CFmt__render_exponent | Renders a scientific notation exponent. Writes sign (+/-), then 2-4 digit exponent value using digit pair lookup table. Used by float formatting. |
| 0x00693CF0 | 490 | CFmt__render_decimal_int32_padded | Renders a 32-bit decimal integer with padding/alignment. Handles sign prefix bytes, zero-padding for precision, left/right/center alignment, and fill character. |
| 0x00693EE0 | 502 | CFmt__render_decimal_int64_padded | Renders a 64-bit decimal integer with padding/alignment. Same logic as 32-bit variant but accepts 64-bit digit buffer parameters for larger values. |
| 0x006940E0 | 423 | CFmt__render_hex_int32_padded | Renders a 32-bit integer in hexadecimal with padding/alignment. Handles 0x prefix, zero-padding, and fill character alignment. |
| 0x00694290 | 434 | CFmt__render_hex_int64_padded | Renders a 64-bit integer in hexadecimal with padding/alignment. Handles 0x/0X prefix, zero-padding, and fill character alignment. |
| 0x00694450 | 434 | CFmt__render_binary_int32_padded | Renders a 32-bit integer in binary with padding/alignment. Handles 0b prefix, zero-padding, and fill character alignment. |
| 0x00694610 | 434 | CFmt__render_binary_int64_padded | Renders a 64-bit integer in binary with padding/alignment. Handles 0b/0B prefix, zero-padding, and fill character alignment. |
| 0x006947D0 | 434 | CFmt__render_octal_int32_padded | Renders a 32-bit integer in octal with padding/alignment. Handles 0 prefix (alternate form), zero-padding, and fill character alignment. |
| 0x00694990 | 434 | CFmt__render_octal_int64_padded | Renders a 64-bit integer in octal with padding/alignment. Handles 0 prefix (alternate form), zero-padding, and fill character alignment. |
| 0x00694B50 | 529 | CFmt__format_uint32_dispatch | Dispatches unsigned 32-bit integer formatting based on type specifier. Cases: 0/1=decimal, 2=octal, 3/4=hex, 5/6=binary, 0xf=char. Handles locale grouping and 0x/0b/0o prefixes. |
| 0x00694D90 | 618 | CFmt__format_uint64_dispatch | Dispatches unsigned 64-bit integer formatting based on type specifier. Same cases as 32-bit variant but counts digits for 64-bit values with appropriate shift operations. |
| 0x00695030 | 345 | CFmt__render_int64_with_locale_grouping | Renders a 64-bit integer with locale-aware digit grouping (thousands separators). Counts digits, calculates group separator positions, then writes with padding/alignment. |
| 0x00695190 | 156 | CFmt__render_locale_aware_int | Wrapper for locale-aware integer rendering. Initializes locale format string via CFmt__init_locale_format_wstring, then delegates to CFmt__render_int64_with_locale_grouping. |
| 0x00695230 | 271 | CFmt__render_nan_inf | Renders NaN or Inf special float values. Selects "nan"/"inf" string based on sign, handles sign prefix character, applies width padding/alignment. |
| 0x00695340 | 370 | CFmt__render_string_value | Renders a string value with optional debug quoting. Plain mode outputs raw wide chars. Debug mode wraps in double quotes and escapes special characters via CFmt__render_escape_sequence. |
| 0x006954C0 | 389 | CFmt__render_float_with_exponent_32bit | Renders a formatted float number with sign, decimal point, and exponent (32-bit). Handles sign prefix, decimal separator, fractional digits, and exponent suffix. |
| 0x00695650 | 392 | CFmt__render_float_with_exponent_64bit | Renders a formatted float number with sign, decimal point, and exponent (64-bit). Same structure as 32-bit variant but uses 64-bit digit conversion. |
| 0x006957E0 | 327 | CFmt__render_float_with_exponent_narrow | Renders a formatted float number with sign, decimal, and exponent using narrow (byte) string output. Uses CFmt__out_0068e680 for byte-width output instead of wide chars. |
| 0x00695930 | 185 | CFmt__render_pointer_hex | Renders a pointer as hexadecimal. Calculates hex digit count from bit width, prefixes with "0x", then outputs hex digits with alignment padding. |
| 0x006959F0 | 237 | CFmt__render_digits_with_separator_32bit | Formats 32-bit digits with a decimal separator. Converts integer to digit chars using pair lookup, inserts separator at specified position. Used for locale-aware number formatting. |
| 0x00695AE0 | 480 | CFmt__render_digits_with_separator_64bit | Formats 64-bit digits with a decimal separator. Uses 64-bit division (div by 100 via multiply-shift) to extract digit pairs. Inserts separator at specified position. |
| 0x00695CC0 | 118 | CFmt__render_string_segment_with_separator | Outputs a string segment with optional separator character. Writes first segment, optionally appends separator char, then writes remainder. Used for locale grouping output. |
| 0x00695D40 | 376 | CFmt__init_locale_format_wstring | Initializes a locale-aware format wstring. Constructs an STL wstring, calls CFmt__format_value_with_locale_wchar to populate locale separator info. Stores locale separator char at offset +24. |
| 0x00696410 | 78 | CFmt__dtor_free_buffer_0x14 | Destructor: frees a 0x14-byte buffer at this+4 if non-null |
| 0x00696460 | 78 | CFmt__dtor_free_buffer_0x18 | Destructor: frees a 0x18-byte buffer at this+4 if non-null |
| 0x006964B0 | 78 | CFmt__dtor_free_buffer_0x1c | Destructor: frees a 0x1c-byte buffer at this+4 if non-null |
| 0x00696500 | 77 | CFmt__dtor_string | Destructor: calls STL_string_dtor on the contained string |
| 0x00696550 | 80 | CFmt__dtor_rbtree | Destructor: destroys all nodes in the RB-tree at this+4 |
| 0x006965A0 | 397 | CFmt__dtor_report_container | Full destructor for a report container: iterates tree calling destructors on subtrees, clears RB-tree nodes, clears hashmap, frees vector, then destroys the root tree and hashmap sentinel |
| 0x00696730 | 56 | CFmt__wbuffer_append_wchar | Appends a single wchar_t to the format output buffer, growing the buffer if needed |
| 0x00696770 | 40 | CFmt__string_assign_from_other | Assigns a string from another string object (SSO-aware: checks capacity threshold at offset+5) |
| 0x006967A0 | 223 | CFmt__report_map_find_or_insert_uint | Finds a uint key in the RB-tree map or inserts a new 0x18-byte node if not found. Returns pointer to value field at node+0x14 |
| 0x00696880 | 321 | CFmt__report_map_find_or_insert_with_subtree | Finds a uint key in the RB-tree map or inserts a new 0x1c-byte node with a nested RB-tree subtree. Returns pointer to the subtree at node+5 |
| 0x00696AF0 | 132 | CFmt__report_tree_iterator_decrement | RB-tree iterator decrement (moves to previous in-order node). Handles both left-subtree traversal and parent backtracking |
| 0x00696B80 | 288 | CFmt__format_char_with_quotes | Formats a character with surrounding single quotes. Non-printable, control chars, backslash, and double-quote get escape sequences via CFmt__render_escape_sequence |
| 0x00696CA0 | 115 | CFmt__format_hex_prefix_and_value | Writes '0x' prefix followed by a hex-formatted uint32 value to the wide-char output buffer |
| 0x00696D20 | 194 | CFmt__format_float_fixed_32bit | Formats a 32-bit float in fixed notation: optional sign char, digits with separator, optional fill chars, decimal separator, and exponent |
| 0x00696DF0 | 197 | CFmt__format_float_fixed_64bit | Formats a 64-bit float in fixed notation: optional sign char, digits with separator, optional fill chars, decimal separator, and exponent |
| 0x00696EC0 | 194 | CFmt__format_float_general | Formats a float in general notation: optional sign, string segment with separator, optional fill, decimal separator, and exponent |
| 0x00696F90 | 246 | CFmt__write_uint64_hex_to_wbuffer | Converts a 64-bit unsigned int to hexadecimal wchar string. Supports upper/lower case via flag at param_1[3]. Uses fast path when buffer has enough space, falls back to stack buffer + copy |
| 0x00697090 | 647 | CFmt__format_int32_decimal_with_grouping | Formats a 32-bit integer as decimal with optional sign char, locale-aware grouping/fill, and exponent suffix. Uses narrow byte buffer for locale grouping path |
| 0x00697320 | 668 | CFmt__format_int64_decimal_with_grouping | Formats a 64-bit integer as decimal with optional sign char, locale-aware grouping/fill, and exponent suffix. Uses narrow byte buffer for locale grouping path |
| 0x006975C0 | 606 | CFmt__format_string_decimal_with_grouping | Formats a string-based decimal number with optional sign char, locale-aware grouping/fill, and exponent suffix. Copies raw char digits for non-locale path |
| 0x00697820 | 152 | CFmt__write_uint32_binary_to_wbuffer | Converts a 32-bit unsigned int to binary (base-2) wchar string. Shifts right by 1, masks with &1, adds 0x30. Fast path for in-place write, fallback to stack buffer |
| 0x006978C0 | 173 | CFmt__write_uint64_binary_to_wbuffer | Converts a 64-bit unsigned int to binary (base-2) wchar string. Uses double-register shift (hi:lo >> 1). Fast path for in-place write, fallback to stack buffer |
| 0x00697970 | 564 | CFmt__format_int32_with_locale_grouping | Formats a 32-bit integer with locale-aware digit grouping (thousands separators). Checks locale flag at offset+0x18, uses wchar buffer for locale grouping path. Appends optional fill characters at end |
| 0x00697BB0 | 585 | CFmt__format_int64_with_locale_grouping | Formats a 64-bit integer with locale-aware digit grouping. Same structure as 32-bit version but uses 64-bit digit separator. Checks locale flag at offset+0x18 |
| 0x00697E00 | 564 | CFmt__format_string_with_locale_grouping | Formats a string-representation number with locale-aware digit grouping. Same pattern as int32/int64 versions but operates on char-based digit strings |
| 0x00698040 | 158 | CFmt__write_uint32_octal_to_wbuffer | Converts a 32-bit unsigned int to octal (base-8) wchar string. Shifts right by 3, masks with &7, adds 0x30. Fast path for in-place write, fallback to stack buffer |
| 0x006980E0 | 174 | CFmt__write_uint64_octal_to_wbuffer | Converts a 64-bit unsigned int to octal (base-8) wchar string. Uses double-register shift (hi:lo >> 3). Fast path for in-place write, fallback to stack buffer |
| 0x00698190 | 151 | CFmt__write_escaped_closing_braces | Writes format string literal text to output, handling escaped closing braces (}} -> }). Throws format error on unmatched single } |
| 0x00698230 | 138 | CFmt__report_accumulate_value | Accumulates a single report value. Uses RTDynamicCast to get the report entry, then switches on aggregation mode: 0=sum, 1=count, 2=max, 4=max-or-zero. Optionally inserts into filter RB-tree |
| 0x00698330 | 204 | CFmt__report_accumulate_tree_values | Accumulates report values from a tree of entries. Iterates the entry tree, for each node calls CEntity__map_insert_or_get_layer_priority and applies aggregation (sum/count/max/concat/max-or-zero). Mode 3 creates linked list pairs |
| 0x00698560 | 1736 | CFmt__report_merge_trees | Merges two report trees. For each entry in source tree: finds/creates matching key in destination, then either creates or merges subtree entries including nested RB-trees. Complex nested map-of-maps structure |
| 0x00698C30 | 165 | CFmt__report_insert_or_merge_entry | Inserts a report entry or merges it with existing. If key exists in outer map and inner subtree matches, calls merge callback; otherwise inserts into subtree via find_or_insert |
| 0x00698CE0 | 253 | CFmt__report_clear_tree_with_subtrees | Clears the report tree by iterating all nodes, calling destructors on their subtrees (via vtable), then destroying the tree nodes, hashmap, and resetting counts |
| 0x00698DE0 | 145 | CFmt__report_clone_node_simple | Clones a simple report tree node (0x14 bytes). Copies the RB-tree via STL_rbtree_copy_ctor and sets vtable to CEnchantRBTreeNode scalar deleting dtor. Copies value at offset+0x10 |
| 0x00698E80 | 312 | CFmt__report_clone_node_with_subtree | Clones a report node with nested subtree (0x18 bytes). Copies the outer RB-tree, then deep-copies the inner subtree via CEnchantRBTree__deep_copy_recursive. Fixes up min/max pointers |
| 0x00698FC0 | 118 | CFmt__report_clone_rbtree | Clones a simple RB-tree (0x10 bytes). Allocates new node and copies tree via STL_rbtree_copy_ctor |
| 0x00699040 | 3 | CFmt__report_identity_return | Identity function: returns the input parameter unchanged. Used as a no-op clone/copy callback |
| 0x00699070 | 41 | CFmt__report_set_value_and_insert | Sets a value at this+0x10 from param_2, then optionally inserts param_3 into the RB-tree filter set (if *param_3 != -1) |
| 0x006990A0 | 57 | CFmt__report_map_set_value_and_insert | Inserts a value into the map via CEntity__map_insert_or_get_layer_priority, then optionally inserts param_3 into the RB-tree filter set (if *param_3 != -1) |
| 0x006990E0 | 1543 | CFmt__report_format_single_value | Formats a single report value as string. Applies scaling (pow, floor), locale formatting via CFmt__parse_format_double_arg, then formats with skill/bonus name lookup and escape sequences. Handles both single-format and pair-format templates |
| 0x006996F0 | 2980 | CFmt__report_format_bonus_description | Formats a full bonus description string by iterating report tree entries. For each entry: looks up bonus name via hash (skill name, item bonus, or numeric ID), applies scaling and formatting via locale-aware templates, builds concatenated description. Handles CDataTable lookups for item bonuses and CSkillManager for skill names |
| 0x0069A2A0 | 589 | CFmt__report_format_with_locale_encoding | Formats a report value with locale/encoding conversion. For single-template mode: copies the format string directly. For pair-template mode: converts to wchar, formats via CFmt__out_format_escaped_single, converts back to multibyte |
| 0x0069A4F0 | 569 | CFmt__report_deduplicate_entries | Deduplicates report entries by iterating the tree and checking string-keyed subtrees. For each entry with a string key, checks if an identical key exists in the dedup set. If new, adds to set; if duplicate with non-null handler, calls the handler destructor and removes the subtree node |
| 0x0069B590 | 121 | CFmt__find_char_index_by_width | Finds the character index in a string whose cumulative width reaches a given pixel target. Iterates characters, summing widths (using char values for ASCII, lookup table at offset 0x10 for special chars). Returns index when accumulated width >= target. |
| 0x0069B610 | 228 | CFmt__map_find_and_get_value | Looks up a key in the format library's internal map using lower_bound. If found, returns the mapped value via CFmt__impl_0069a730. If not found, returns {0, false}. |
| 0x0069B700 | 128 | CFmt__get_arg_by_index | Gets a format argument by index from the argument store. Supports two storage modes: packed (16-byte entries) and bitfield-indexed (8-byte entries with presence bits). Returns the arg data in param_2. |
| 0x0069B780 | 310 | CFmt__map_emplace | Emplaces a key-value pair into the format library's named argument map. Uses lower_bound to check for existing key; if found returns existing node, otherwise inserts a new tree node. Throws if map is at max capacity (0xAAAAAAA entries). |
| 0x0069B8C0 | 92 | CFmt__format_arg | Retrieves a format argument by index and formats it. Throws 'argument not found' if index is invalid. Dispatches to CFmt__format_value_by_type with the format specs and retrieved arg. |
| 0x0069B920 | 95 | CFmt__set_sign_format_spec | Sets the sign flag in a format specifier. Validates that the argument type is numeric (throws 'format specifier requires numeric argument' if not). Also validates signed types specifically. Writes sign bits into the spec byte at offset 9. |
| 0x0069B980 | 103 | CFmt__delete_tree_nodes_recursive | Recursively deletes all nodes in a red-black tree used by the format library. Traverses right subtrees recursively, then walks left children iteratively, freeing 0x20-byte nodes. |
| 0x0069B9F0 | 178 | CFmt__named_arg_store_ctor | Constructor for CFmt named argument store. Initializes an SSO string from param_2 (the format string), then allocates a 0x20-byte sentinel node for the internal red-black tree (named arg map). |
| 0x0069BAB0 | 111 | CFmt__destroy_tree | Destroys the entire named argument tree. Iterates from the root's left child, recursively deleting right subtrees and walking left, then frees the sentinel node. |
| 0x0069BB30 | 65 | CFmt__destroy_tree_wrapper | SEH-wrapped destructor wrapper that calls CFmt__destroy_tree. Sets up structured exception handling frame then delegates. |
| 0x0069BB80 | 367 | CFmt__dtor_0069bb80 | CFmt destructor. Iterates through all entries in the named argument tree, destroying each entry's sub-objects (strings, vectors, sub-trees with 0x18-byte nodes), then frees the entry (0x80 bytes). Finally destroys the tree itself and the format string. |
| 0x0069BD00 | 4 | CFmt__get_named_arg_map | Returns pointer to the named argument map (this + 0x18). Simple accessor for the internal tree used to store named format arguments. |
| 0x0069C3A0 | 15 | CFmt__tw_0069c3a0 | Type-erased format wrapper forwarding to formatter |
| 0x0069C3C0 | 267 | CFmt__copy_construct_tree | Copy constructor for CFmt tree structure. Copies scalar value, copy-constructs a string, allocates a red-black tree sentinel (0x20 bytes), then recursively clones tree nodes via CFmt__clone_tree_nodes_recursive. |
| 0x0069C4D0 | 187 | CFmt__init_hash_table_16 | Initializes a CFmt hash table with 0x10-byte nodes. Sets load factor to 1.0f, bucket count params to 7/8, allocates sentinel node, then resizes the bucket vector to 16 entries. |
| 0x0069C590 | 187 | CFmt__init_hash_table_44 | Initializes a CFmt hash table with 0x2c-byte nodes. Sets load factor to 1.0f, bucket count params to 7/8, allocates sentinel node, then resizes the bucket vector to 16 entries. |
| 0x0069C650 | 187 | CFmt__init_hash_table_16b | Initializes a CFmt hash table with 0x10-byte nodes (variant b). Sets load factor to 1.0f, bucket count params to 7/8, allocates sentinel node, then resizes the bucket vector to 16 entries. |
| 0x0069C710 | 187 | CFmt__init_hash_table_44b | Initializes a CFmt hash table with 0x2c-byte nodes (variant b). Sets load factor to 1.0f, bucket count params to 7/8, allocates sentinel node, then resizes the bucket vector to 16 entries. |
| 0x0069D420 | 236 | CFmt__clone_tree_nodes_recursive | Recursively clones red-black tree nodes (0x20 bytes each) from source to destination. Copies 4 data words per node, sets up parent/left/right/color links. Used by CFmt__copy_construct_tree. |
| 0x0069D530 | 118 | CFmt__destroy_tree_32byte_nodes | Destructor that recursively frees 0x20-byte red-black tree nodes. Walks left children iteratively, recursively destroys right subtrees via CFmt__delete_tree_nodes_recursive, then frees the sentinel. |
| 0x0069D5B0 | 103 | CFmt__destroy_tree_24byte_nodes | Recursively frees 0x18-byte red-black tree nodes. Walks left children iteratively, recursively destroys right subtrees, then frees each node. |
| 0x0069D620 | 131 | CFmt__destroy_tree_44byte_string_nodes | Recursively frees 0x2c-byte red-black tree nodes that contain embedded STL strings. Calls STL_string_dtor for each node's string before freeing the 0x2c-byte node. |
| 0x0069D6B0 | 131 | CFmt__destroy_tree_52byte_nodes | Recursively frees 0x34-byte red-black tree nodes that contain embedded CFmt objects. Calls CFmt__dtor for each node before freeing the 0x34-byte node. |
| 0x0069D740 | 103 | CFmt__destroy_tree_24byte_nodes_b | Recursively frees 0x18-byte red-black tree nodes (variant b). Walks left children iteratively, recursively destroys right subtrees, then frees each node. Identical pattern to CFmt__destroy_tree_24byte_nodes. |
| 0x006A0A80 | 173 | CFmt__arg_006a0a80 | Format argument wrapper |
| 0x006A0B30 | 153 | CFmt__arg_006a0b30 | Format argument wrapper |
| 0x006A0BD0 | 173 | CFmt__arg_006a0bd0 | Format argument wrapper |
| 0x006A0C80 | 215 | CFmt__arg_006a0c80 | Format argument wrapper |
| 0x006A0D60 | 180 | CFmt__arg_006a0d60 | Format argument wrapper |
| 0x006A0E20 | 242 | CFmt__arg_006a0e20 | Format argument wrapper |
| 0x006A0F20 | 173 | CFmt__arg_006a0f20 | Format argument wrapper |
| 0x006A0FD0 | 161 | CFmt__arg_006a0fd0 | Format argument wrapper |
| 0x006A1080 | 208 | CFmt__arg_006a1080 | Format argument wrapper |
| 0x006A1150 | 229 | CFmt__arg_006a1150 | Format argument wrapper |
| 0x006A1240 | 229 | CFmt__arg_006a1240 | Format argument wrapper |
| 0x006A1330 | 173 | CFmt__arg_006a1330 | Format argument wrapper |
| 0x006A13E0 | 206 | CFmt__arg_006a13e0 | Format argument wrapper |
| 0x007468D0 | 65 | CFmt__cleanup_wrapper | Wrapper that calls CFmt cleanup function. Simple forwarding call. |
| 0x00ACD080 | 75 | CFmt__reset_and_advance | Resets a format buffer object (sets vtable to PTR_FUN_01159564). Updates write position by adding the bytes-written count. Resets the count. If the buffer pointer matches the internal buffer, sets capacity to 256 and adjusts the total size. |
| 0x00ACF650 | 78 | CFmt__flush_buffer_state | Flushes a format buffer state. If the current write count equals the buffer capacity, advances the total position, computes remaining available space, and if the internal buffer pointer matches the secondary buffer, resets capacity to 256 and adjusts the size limit. Resets the write count to 0. |
| 0x01092230 | 10 | thunk_to_CFmt__vector_of_structs_dtor | Thunk that calls CFmt__vector_of_structs_dtor and returns. |
| 0x010989C0 | 10 | thunk_to_CFmt__destroy_string_vector | Thunk: jumps to CFmt__destroy_string_vector. |
| 0x010B97C0 | 10 | thunk_to_CFmt__destroy_string_vector_010b97c0 | Wrapper that calls CFmt__func_0058c230 and returns |
| 0x010B97D0 | 10 | thunk_to_CFmt__destroy_string_vector_010b97d0 | Wrapper that calls CFmt__func_0058c230 and returns |
No function here matches that. Search all 47,061 functions instead.