// // _isctype_l from 0x180136b90 to 0x180136c98 (264 bytes) // // 3 xrefs: // > _ischartype_l @ 0x18012af25 // > @ 0x18020356c // > @ 0x180203578 // // 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 // int __cdecl isctype_l(int C, int Type, _locale_t Locale) { __int64 v4; // rdi int v5; // eax int result; // eax __int64 v7; // [rsp+48h] [rbp-38h] BYREF struct __crt_locale_pointers v8; // [rsp+50h] [rbp-30h] BYREF char v9; // [rsp+60h] [rbp-20h] WORD CharType[2]; // [rsp+68h] [rbp-18h] BYREF __int16 v11; // [rsp+6Ch] [rbp-14h] v4 = C; _LocaleUpdate::_LocaleUpdate((_LocaleUpdate *)&v7, Locale); if ( (unsigned int)(v4 + 1) <= 0x100 ) { v5 = *(unsigned __int16 *)(*(_QWORD *)v8.locinfo + 2 * v4); goto LABEL_8; } *(_DWORD *)CharType = 0; v11 = 0; if ( (unsigned int)_acrt_GetStringTypeA(&v8, 1u, CharType, *((_DWORD *)v8.locinfo + 3), 1) ) { v5 = CharType[0]; LABEL_8: result = Type & v5; if ( v9 ) *(_DWORD *)(v7 + 936) &= ~2u; return result; } if ( v9 ) *(_DWORD *)(v7 + 936) &= ~2u; return 0; }