// // __acrt_lowio_create_handle_array from 0x180135fc4 to 0x180136069 (165 bytes) // // 2 xrefs: // > __acrt_lowio_ensure_fh_exists @ 0x18013612f // > @ 0x1802034b8 // // 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 // char *_acrt_lowio_create_handle_array() { char *v0; // rax char *v1; // rsi char *v2; // rbx char *v3; // rbp char *v4; // rdi _BYTE *v5; // rcx unsigned int v6; // eax v0 = (char *)calloc_base(0x40u, 0x48u); v1 = nullptr; v2 = v0; if ( v0 ) { v3 = v0 + 4608; v4 = v0 + 48; do { _vcrt_InitializeCriticalSectionEx_0((LPCRITICAL_SECTION)(v4 - 48), 0xFA0u, 0); *((_QWORD *)v4 - 1) = -1; v5 = v4 + 14; v4[13] &= 0xF8u; v6 = 0; *(_QWORD *)v4 = 0; *((_DWORD *)v4 + 2) = 168427520; v4[12] = 10; do { *v5 = 0; ++v6; ++v5; } while ( v6 < 5 ); v4 += 72; } while ( v4 - 48 != v3 ); v1 = v2; } free_base(nullptr); return v1; }