// // dllmain_crt_process_attach from 0x180120adc to 0x180120bf2 (278 bytes) // // 3 xrefs: // > dllmain_crt_dispatch @ 0x180120ac8 // > @ 0x180202570 // > @ 0x18020257c // // 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_1801F4998 ) { _scrt_fastfail(7); __debugbreak(); JUMPOUT(0x180120BF2LL); } dword_1801F4998 = 1; if ( _scrt_dllmain_before_initialize_c() ) { sub_180123DD0(); sub_180123D88(); _scrt_initialize_default_local_stdio_options(); if ( !initterm_e((_PIFV *)&qword_180144510, (_PIFV *)&qword_180144540) ) { if ( _scrt_dllmain_after_initialize_c() ) { initterm((_PVFV *)&First, (_PVFV *)&Last); dword_1801F4998 = 2; v3 = 0; } } } _scrt_release_startup_lock(v2); if ( v3 ) return 0; v4 = (_QWORD *)sub_180123DC8(); if ( *v4 ) { if ( _scrt_is_nonwritable_in_current_image((__int64)v4) ) _guard_dispatch_icall_fptr(); } ++dword_1801F4A2C; return 1; }