; ; dllmain_dispatch from 0x180120c78 to 0x180120da9 (305 bytes) ; ; 4 xrefs: ; > dllmain_crt_process_detach @ 0x180120c77 ; > DllEntryPoint @ 0x180120de4 ; > @ 0x180202588 ; > @ 0x180202594 ; ; 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 rax, rsp ; +0x0, 0x180120c78 mov [rax+20h], rbx ; +0x3, 0x180120c7b mov [rax+18h], r8 ; +0x7, 0x180120c7f mov [rax+10h], edx ; +0xb, 0x180120c83 mov [rax+8], rcx ; +0xe, 0x180120c86 push rsi ; +0x12, 0x180120c8a push rdi ; +0x13, 0x180120c8b push r14 ; +0x14, 0x180120c8c sub rsp, 40h ; +0x16, 0x180120c8e mov rsi, r8 ; +0x1a, 0x180120c92 mov edi, edx ; +0x1d, 0x180120c95 mov r14, rcx ; +0x1f, 0x180120c97 test edx, edx ; +0x22, 0x180120c9a jnz short loc_180120CAD ; +0x24, 0x180120c9c cmp cs:dword_1801F4A2C, edx ; +0x26, 0x180120c9e jg short loc_180120CAD ; +0x2c, 0x180120ca4 xor eax, eax ; +0x2e, 0x180120ca6 jmp loc_180120D9B ; +0x30, 0x180120ca8 lea eax, [rdx-1] ; +0x35, 0x180120cad cmp eax, 1 ; +0x38, 0x180120cb0 ja short loc_180120CFA ; +0x3b, 0x180120cb3 mov rax, cs:qword_18016FC28 ; +0x3d, 0x180120cb5 test rax, rax ; +0x44, 0x180120cbc jnz short loc_180120CCB ; +0x47, 0x180120cbf mov [rsp+58h+var_28], 1 ; +0x49, 0x180120cc1 jmp short loc_180120CDF ; +0x51, 0x180120cc9 call cs:__guard_dispatch_icall_fptr ; +0x53, 0x180120ccb mov ebx, eax ; +0x59, 0x180120cd1 mov [rsp+58h+var_28], eax ; +0x5b, 0x180120cd3 test eax, eax ; +0x5f, 0x180120cd7 jz loc_180120D91 ; +0x61, 0x180120cd9 mov r8, rsi; void * ; +0x67, 0x180120cdf mov edx, edi; unsigned int ; +0x6a, 0x180120ce2 mov rcx, r14; HINSTANCE ; +0x6c, 0x180120ce4 call ?dllmain_crt_dispatch@@YAHQEAUHINSTANCE__@@KQEAX@Z ; +0x6f, 0x180120ce7 mov ebx, eax ; +0x74, 0x180120cec mov [rsp+58h+var_28], eax ; +0x76, 0x180120cee test eax, eax ; +0x7a, 0x180120cf2 jz loc_180120D91 ; +0x7c, 0x180120cf4 mov r8, rsi; lpvReserved ; +0x82, 0x180120cfa mov edx, edi; fdwReason ; +0x85, 0x180120cfd mov rcx, r14; hinstDLL ; +0x87, 0x180120cff call DllMain ; +0x8a, 0x180120d02 mov ebx, eax ; +0x8f, 0x180120d07 mov [rsp+58h+var_28], eax ; +0x91, 0x180120d09 cmp edi, 1 ; +0x95, 0x180120d0d jnz short loc_180120D48 ; +0x98, 0x180120d10 test eax, eax ; +0x9a, 0x180120d12 jnz short loc_180120D48 ; +0x9c, 0x180120d14 mov r8, rsi; lpvReserved ; +0x9e, 0x180120d16 xor edx, edx; fdwReason ; +0xa1, 0x180120d19 mov rcx, r14; hinstDLL ; +0xa3, 0x180120d1b call DllMain ; +0xa6, 0x180120d1e test rsi, rsi ; +0xab, 0x180120d23 setnz cl; bool ; +0xae, 0x180120d26 call ?dllmain_crt_process_detach@@YAH_N@Z ; +0xb1, 0x180120d29 mov rax, cs:qword_18016FC28 ; +0xb6, 0x180120d2e test rax, rax ; +0xbd, 0x180120d35 jz short loc_180120D48 ; +0xc0, 0x180120d38 mov r8, rsi ; +0xc2, 0x180120d3a xor edx, edx ; +0xc5, 0x180120d3d mov rcx, r14 ; +0xc7, 0x180120d3f call cs:__guard_dispatch_icall_fptr ; +0xca, 0x180120d42 test edi, edi ; +0xd0, 0x180120d48 jz short loc_180120D51 ; +0xd2, 0x180120d4a cmp edi, 3 ; +0xd4, 0x180120d4c jnz short loc_180120D91 ; +0xd7, 0x180120d4f mov r8, rsi; void * ; +0xd9, 0x180120d51 mov edx, edi; unsigned int ; +0xdc, 0x180120d54 mov rcx, r14; HINSTANCE ; +0xde, 0x180120d56 call ?dllmain_crt_dispatch@@YAHQEAUHINSTANCE__@@KQEAX@Z ; +0xe1, 0x180120d59 mov ebx, eax ; +0xe6, 0x180120d5e mov [rsp+58h+var_28], eax ; +0xe8, 0x180120d60 test eax, eax ; +0xec, 0x180120d64 jz short loc_180120D91 ; +0xee, 0x180120d66 mov rax, cs:qword_18016FC28 ; +0xf0, 0x180120d68 test rax, rax ; +0xf7, 0x180120d6f jnz short loc_180120D7D ; +0xfa, 0x180120d72 lea ebx, [rax+1] ; +0xfc, 0x180120d74 mov [rsp+58h+var_28], ebx ; +0xff, 0x180120d77 jmp short loc_180120D91 ; +0x103, 0x180120d7b mov r8, rsi ; +0x105, 0x180120d7d mov edx, edi ; +0x108, 0x180120d80 mov rcx, r14 ; +0x10a, 0x180120d82 call cs:__guard_dispatch_icall_fptr ; +0x10d, 0x180120d85 mov ebx, eax ; +0x113, 0x180120d8b mov [rsp+58h+var_28], eax ; +0x115, 0x180120d8d jmp short loc_180120D99 ; +0x119, 0x180120d91 xor ebx, ebx ; +0x11b, 0x180120d93 mov [rsp+58h+var_28], ebx ; +0x11d, 0x180120d95 mov eax, ebx ; +0x121, 0x180120d99 mov rbx, [rsp+58h+arg_18] ; +0x123, 0x180120d9b add rsp, 40h ; +0x128, 0x180120da0 pop r14 ; +0x12c, 0x180120da4 pop rdi ; +0x12e, 0x180120da6 pop rsi ; +0x12f, 0x180120da7 retn ; +0x130, 0x180120da8