; ; 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 ; mov [rsp+arg_0], rbx ; +0x0, 0x18001f898 mov [rsp+arg_8], rsi ; +0x5, 0x18001f89d mov [rsp+arg_18], rdi ; +0xa, 0x18001f8a2 push r14 ; +0xf, 0x18001f8a7 sub rsp, 20h ; +0x11, 0x18001f8a9 mov rsi, rdx ; +0x15, 0x18001f8ad mov r14, rcx ; +0x18, 0x18001f8b0 xor ecx, ecx ; +0x1b, 0x18001f8b3 call __scrt_initialize_crt ; +0x1d, 0x18001f8b5 test al, al ; +0x22, 0x18001f8ba jz loc_18001F98A ; +0x24, 0x18001f8bc call __scrt_acquire_startup_lock ; +0x2a, 0x18001f8c2 mov bl, al ; +0x2f, 0x18001f8c7 mov [rsp+28h+arg_10], al ; +0x31, 0x18001f8c9 mov dil, 1 ; +0x35, 0x18001f8cd cmp cs:dword_180047FF0, 0 ; +0x38, 0x18001f8d0 jnz loc_18001F9A2 ; +0x3f, 0x18001f8d7 mov cs:dword_180047FF0, 1 ; +0x45, 0x18001f8dd call __scrt_dllmain_before_initialize_c ; +0x4f, 0x18001f8e7 test al, al ; +0x54, 0x18001f8ec jz short loc_18001F93F ; +0x56, 0x18001f8ee call sub_180020190 ; +0x58, 0x18001f8f0 call sub_180020148 ; +0x5d, 0x18001f8f5 call __scrt_initialize_default_local_stdio_options ; +0x62, 0x18001f8fa lea rdx, Last; Last ; +0x67, 0x18001f8ff lea rcx, First; First ; +0x6e, 0x18001f906 call _initterm_e ; +0x75, 0x18001f90d test eax, eax ; +0x7a, 0x18001f912 jnz short loc_18001F93F ; +0x7c, 0x18001f914 call __scrt_dllmain_after_initialize_c ; +0x7e, 0x18001f916 test al, al ; +0x83, 0x18001f91b jz short loc_18001F93F ; +0x85, 0x18001f91d lea rdx, qword_180023268; Last ; +0x87, 0x18001f91f lea rcx, qword_180023208; First ; +0x8e, 0x18001f926 call _initterm ; +0x95, 0x18001f92d mov cs:dword_180047FF0, 2 ; +0x9a, 0x18001f932 xor dil, dil ; +0xa4, 0x18001f93c mov cl, bl ; +0xa7, 0x18001f93f call __scrt_release_startup_lock ; +0xa9, 0x18001f941 test dil, dil ; +0xae, 0x18001f946 jnz short loc_18001F98A ; +0xb1, 0x18001f949 call sub_180020188 ; +0xb3, 0x18001f94b mov rbx, rax ; +0xb8, 0x18001f950 cmp qword ptr [rax], 0 ; +0xbb, 0x18001f953 jz short loc_18001F97D ; +0xbf, 0x18001f957 mov rcx, rax ; +0xc1, 0x18001f959 call __scrt_is_nonwritable_in_current_image ; +0xc4, 0x18001f95c test al, al ; +0xc9, 0x18001f961 jz short loc_18001F97D ; +0xcb, 0x18001f963 mov r8, rsi ; +0xcd, 0x18001f965 mov edx, 2 ; +0xd0, 0x18001f968 mov rcx, r14 ; +0xd5, 0x18001f96d mov rax, [rbx] ; +0xd8, 0x18001f970 mov r9, cs:__guard_dispatch_icall_fptr ; +0xdb, 0x18001f973 call r9 ; _guard_dispatch_icall_nop ; +0xe2, 0x18001f97a inc cs:dword_180048038 ; +0xe5, 0x18001f97d mov eax, 1 ; +0xeb, 0x18001f983 jmp short loc_18001F98C ; +0xf0, 0x18001f988 xor eax, eax ; +0xf2, 0x18001f98a mov rbx, [rsp+28h+arg_0] ; +0xf4, 0x18001f98c mov rsi, [rsp+28h+arg_8] ; +0xf9, 0x18001f991 mov rdi, [rsp+28h+arg_18] ; +0xfe, 0x18001f996 add rsp, 20h ; +0x103, 0x18001f99b pop r14 ; +0x107, 0x18001f99f retn ; +0x109, 0x18001f9a1 mov ecx, 7 ; +0x10a, 0x18001f9a2 call __scrt_fastfail ; +0x10f, 0x18001f9a7 nop ; +0x114, 0x18001f9ac int 3; Trap to Debugger ; +0x115, 0x18001f9ad