; ; 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 ; mov [rsp+arg_0], rbx ; +0x0, 0x180120adc mov [rsp+arg_8], rsi ; +0x5, 0x180120ae1 mov [rsp+arg_18], rdi ; +0xa, 0x180120ae6 push r14 ; +0xf, 0x180120aeb sub rsp, 20h ; +0x11, 0x180120aed mov rsi, rdx ; +0x15, 0x180120af1 mov r14, rcx ; +0x18, 0x180120af4 xor ecx, ecx ; +0x1b, 0x180120af7 call __scrt_initialize_crt ; +0x1d, 0x180120af9 test al, al ; +0x22, 0x180120afe jz loc_180120BCE ; +0x24, 0x180120b00 call __scrt_acquire_startup_lock ; +0x2a, 0x180120b06 mov bl, al ; +0x2f, 0x180120b0b mov [rsp+28h+arg_10], al ; +0x31, 0x180120b0d mov dil, 1 ; +0x35, 0x180120b11 cmp cs:dword_1801F4998, 0 ; +0x38, 0x180120b14 jnz loc_180120BE6 ; +0x3f, 0x180120b1b mov cs:dword_1801F4998, 1 ; +0x45, 0x180120b21 call __scrt_dllmain_before_initialize_c ; +0x4f, 0x180120b2b test al, al ; +0x54, 0x180120b30 jz short loc_180120B83 ; +0x56, 0x180120b32 call sub_180123DD0 ; +0x58, 0x180120b34 call sub_180123D88 ; +0x5d, 0x180120b39 call __scrt_initialize_default_local_stdio_options ; +0x62, 0x180120b3e lea rdx, qword_180144540; Last ; +0x67, 0x180120b43 lea rcx, qword_180144510; First ; +0x6e, 0x180120b4a call _initterm_e ; +0x75, 0x180120b51 test eax, eax ; +0x7a, 0x180120b56 jnz short loc_180120B83 ; +0x7c, 0x180120b58 call __scrt_dllmain_after_initialize_c ; +0x7e, 0x180120b5a test al, al ; +0x83, 0x180120b5f jz short loc_180120B83 ; +0x85, 0x180120b61 lea rdx, Last; Last ; +0x87, 0x180120b63 lea rcx, First; First ; +0x8e, 0x180120b6a call _initterm ; +0x95, 0x180120b71 mov cs:dword_1801F4998, 2 ; +0x9a, 0x180120b76 xor dil, dil ; +0xa4, 0x180120b80 mov cl, bl ; +0xa7, 0x180120b83 call __scrt_release_startup_lock ; +0xa9, 0x180120b85 test dil, dil ; +0xae, 0x180120b8a jnz short loc_180120BCE ; +0xb1, 0x180120b8d call sub_180123DC8 ; +0xb3, 0x180120b8f mov rbx, rax ; +0xb8, 0x180120b94 cmp qword ptr [rax], 0 ; +0xbb, 0x180120b97 jz short loc_180120BC1 ; +0xbf, 0x180120b9b mov rcx, rax ; +0xc1, 0x180120b9d call __scrt_is_nonwritable_in_current_image ; +0xc4, 0x180120ba0 test al, al ; +0xc9, 0x180120ba5 jz short loc_180120BC1 ; +0xcb, 0x180120ba7 mov r8, rsi ; +0xcd, 0x180120ba9 mov edx, 2 ; +0xd0, 0x180120bac mov rcx, r14 ; +0xd5, 0x180120bb1 mov rax, [rbx] ; +0xd8, 0x180120bb4 mov r9, cs:__guard_dispatch_icall_fptr ; +0xdb, 0x180120bb7 call r9 ; _guard_dispatch_icall_nop ; +0xe2, 0x180120bbe inc cs:dword_1801F4A2C ; +0xe5, 0x180120bc1 mov eax, 1 ; +0xeb, 0x180120bc7 jmp short loc_180120BD0 ; +0xf0, 0x180120bcc xor eax, eax ; +0xf2, 0x180120bce mov rbx, [rsp+28h+arg_0] ; +0xf4, 0x180120bd0 mov rsi, [rsp+28h+arg_8] ; +0xf9, 0x180120bd5 mov rdi, [rsp+28h+arg_18] ; +0xfe, 0x180120bda add rsp, 20h ; +0x103, 0x180120bdf pop r14 ; +0x107, 0x180120be3 retn ; +0x109, 0x180120be5 mov ecx, 7 ; +0x10a, 0x180120be6 call __scrt_fastfail ; +0x10f, 0x180120beb nop ; +0x114, 0x180120bf0 int 3; Trap to Debugger ; +0x115, 0x180120bf1