// // __crt_stdio_output::crop_zeroes from 0x18012c3f0 to 0x18012c483 (147 bytes) // // 3 xrefs: // > unknown_libname_44 @ 0x18012dee8 // > unknown_libname_45 @ 0x18012e0bd // > unknown_libname_46 @ 0x18012e29d // // This function is hookable on this platform! // // Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA // Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings // void __fastcall __crt_stdio_output::crop_zeroes( __crt_stdio_output *this, char *a2, struct __crt_locale_pointers *const a3) { char v3; // r9 char v4; // al char v5; // dl char *v6; // rcx char i; // al char v8; // al char *v9; // r8 char *j; // rcx char *v11; // rdx char v12; // al v3 = ***(_BYTE ***)(*(_QWORD *)a2 + 248LL); v4 = *(_BYTE *)this; if ( *(_BYTE *)this ) { v5 = *(_BYTE *)this; do { v4 = v5; if ( v5 == v3 ) break; v4 = *((_BYTE *)this + 1); this = (__crt_stdio_output *)((char *)this + 1); v5 = v4; } while ( v4 ); } v6 = (char *)this + 1; if ( v4 ) { for ( i = *v6; i; i = *++v6 ) { if ( ((i - 69) & 0xDF) == 0 ) break; } v8 = *(v6 - 1); v9 = v6; for ( j = v6 - 1; v8 == 48; --j ) v8 = *(j - 1); v11 = j - 1; if ( v8 != v3 ) v11 = j; do { v12 = *v9; *++v11 = *v9++; } while ( v12 ); } }