; ; memchr from 0x180124890 to 0x1801248fe (110 bytes) ; ; 2 xrefs: ; > sub_18004C1A0 @ 0x18004c312 ; > @ 0x180202678 ; ; 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 ; cmp r8, 10h ; +0x0, 0x180124890 jb short tail_loop_start ; +0x4, 0x180124894 movzx edx, dl ; +0x6, 0x180124896 mov eax, 1010101h ; +0x9, 0x180124899 imul edx, eax ; +0xe, 0x18012489e movd xmm0, edx ; +0x11, 0x1801248a1 pshufd xmm0, xmm0, 0 ; +0x15, 0x1801248a5 nop word ptr [rax+rax+00h] ; +0x1a, 0x1801248aa movdqu xmm1, xmmword ptr [rcx] ; +0x20, 0x1801248b0 add rcx, 10h ; +0x24, 0x1801248b4 sub r8, 10h ; +0x28, 0x1801248b8 pcmpeqb xmm1, xmm0 ; +0x2c, 0x1801248bc pmovmskb eax, xmm1 ; +0x30, 0x1801248c0 bsf rax, rax ; +0x35, 0x1801248c5 jnz short found_16b ; +0x39, 0x1801248c9 cmp r8, 10h ; +0x3b, 0x1801248cb jnb short main_loop ; +0x3f, 0x1801248cf test r8, r8 ; +0x41, 0x1801248d1 jz short ret_null ; +0x44, 0x1801248d4 nop word ptr [rax+rax+00000000h] ; +0x46, 0x1801248d6 mov al, [rcx] ; +0x50, 0x1801248e0 inc rcx ; +0x52, 0x1801248e2 xor al, dl ; +0x55, 0x1801248e5 jz short found ; +0x57, 0x1801248e7 sub r8, 1 ; +0x59, 0x1801248e9 jnz short tail_loop ; +0x5d, 0x1801248ed xor rax, rax ; +0x5f, 0x1801248ef retn ; +0x62, 0x1801248f2 lea rax, [rax+rcx-10h] ; +0x63, 0x1801248f3 retn ; +0x68, 0x1801248f8 lea rax, [rcx-1] ; +0x69, 0x1801248f9 retn ; +0x6d, 0x1801248fd