// // dllmain_crt_process_attach from 0x18001f898 to 0x18001f9ae (278 bytes) // // 3 xrefs: // > dllmain_crt_dispatch @ 0x18001f884 // > @ 0x18004b244 // > @ 0x18004b250 // // 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 // __int64 __fastcall dllmain_crt_process_attach(HINSTANCE a1, void *const a2) { char v2; // bl char v3; // di _QWORD *v4; // rax if ( !_scrt_initialize_crt(0) ) return 0; v2 = _scrt_acquire_startup_lock(); v3 = 1; if ( dword_180047FF0 ) { _scrt_fastfail(7); __debugbreak(); JUMPOUT(0x18001F9AELL); } dword_180047FF0 = 1; if ( _scrt_dllmain_before_initialize_c() ) { sub_180020190(); sub_180020148(); _scrt_initialize_default_local_stdio_options(); if ( !initterm_e((_PIFV *)&First, (_PIFV *)&Last) ) { if ( _scrt_dllmain_after_initialize_c() ) { initterm((_PVFV *)&qword_180023208, (_PVFV *)&qword_180023268); dword_180047FF0 = 2; v3 = 0; } } } _scrt_release_startup_lock(v2); if ( v3 ) return 0; v4 = (_QWORD *)sub_180020188(); if ( *v4 ) { if ( _scrt_is_nonwritable_in_current_image((__int64)v4) ) _guard_dispatch_icall_fptr(); } ++dword_180048038; return 1; }