; ; _isctype_l from 0x180136b90 to 0x180136c98 (264 bytes) ; ; 3 xrefs: ; > _ischartype_l @ 0x18012af25 ; > @ 0x18020356c ; > @ 0x180203578 ; ; 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-8+arg_0], rbx ; +0x0, 0x180136b90 mov [rsp-8+arg_8], rsi ; +0x5, 0x180136b95 mov [rsp-8+arg_10], rdi ; +0xa, 0x180136b9a push rbp ; +0xf, 0x180136b9f mov rbp, rsp ; +0x10, 0x180136ba0 sub rsp, 80h ; +0x13, 0x180136ba3 mov rax, cs:__security_cookie ; +0x1a, 0x180136baa xor rax, rsp ; +0x21, 0x180136bb1 mov [rbp+var_10], rax ; +0x24, 0x180136bb4 mov esi, edx ; +0x28, 0x180136bb8 movsxd rdi, ecx ; +0x2a, 0x180136bba mov rdx, r8; struct __crt_locale_pointers * ; +0x2d, 0x180136bbd lea rcx, [rbp+var_38]; this ; +0x30, 0x180136bc0 call ??0_LocaleUpdate@@QEAA@QEAU__crt_locale_pointers@@@Z ; +0x34, 0x180136bc4 lea eax, [rdi+1] ; +0x39, 0x180136bc9 xor ebx, ebx ; +0x3c, 0x180136bcc cmp eax, 100h ; +0x3e, 0x180136bce ja short loc_180136BE2 ; +0x43, 0x180136bd3 mov rax, [rbp+var_30.locinfo] ; +0x45, 0x180136bd5 mov rcx, [rax] ; +0x49, 0x180136bd9 movzx eax, word ptr [rcx+rdi*2] ; +0x4c, 0x180136bdc jmp short loc_180136C61 ; +0x50, 0x180136be0 mov rdx, [rbp+var_30.locinfo] ; +0x52, 0x180136be2 mov eax, edi ; +0x56, 0x180136be6 sar eax, 8 ; +0x58, 0x180136be8 mov r10d, 1 ; +0x5b, 0x180136beb movzx ecx, al ; +0x61, 0x180136bf1 mov rax, [rdx] ; +0x64, 0x180136bf4 cmp [rax+rcx*2], bx ; +0x67, 0x180136bf7 jge short loc_180136C0D ; +0x6b, 0x180136bfb mov [rbp+var_40], cl ; +0x6d, 0x180136bfd lea r9d, [r10+1] ; +0x70, 0x180136c00 mov [rbp+var_3F], dil ; +0x74, 0x180136c04 mov [rbp+var_3E], bl ; +0x78, 0x180136c08 jmp short loc_180136C17 ; +0x7b, 0x180136c0b mov [rbp+var_40], dil ; +0x7d, 0x180136c0d mov r9d, r10d ; +0x81, 0x180136c11 mov [rbp+var_3F], bl ; +0x84, 0x180136c14 xor eax, eax ; +0x87, 0x180136c17 mov [rsp+80h+var_50], r10d; int ; +0x89, 0x180136c19 mov dword ptr [rbp+CharType], eax ; +0x8e, 0x180136c1e lea r8, [rbp+var_40] ; +0x91, 0x180136c21 mov [rbp+var_14], ax ; +0x95, 0x180136c25 lea rcx, [rbp+var_30]; struct __crt_locale_pointers * ; +0x99, 0x180136c29 mov eax, [rdx+0Ch] ; +0x9d, 0x180136c2d mov edx, r10d; dwInfoType ; +0xa0, 0x180136c30 mov [rsp+80h+var_58], eax; int ; +0xa3, 0x180136c33 lea rax, [rbp+CharType] ; +0xa7, 0x180136c37 mov [rsp+80h+lpCharType], rax; lpCharType ; +0xab, 0x180136c3b call __acrt_GetStringTypeA ; +0xb0, 0x180136c40 test eax, eax ; +0xb5, 0x180136c45 jnz short loc_180136C5D ; +0xb7, 0x180136c47 cmp [rbp+var_20], bl ; +0xb9, 0x180136c49 jz short loc_180136C59 ; +0xbc, 0x180136c4c mov rax, [rbp+var_38] ; +0xbe, 0x180136c4e and dword ptr [rax+3A8h], 0FFFFFFFDh ; +0xc2, 0x180136c52 xor eax, eax ; +0xc9, 0x180136c59 jmp short loc_180136C73 ; +0xcb, 0x180136c5b movzx eax, [rbp+CharType] ; +0xcd, 0x180136c5d and eax, esi ; +0xd1, 0x180136c61 cmp [rbp+var_20], bl ; +0xd3, 0x180136c63 jz short loc_180136C73 ; +0xd6, 0x180136c66 mov rcx, [rbp+var_38] ; +0xd8, 0x180136c68 and dword ptr [rcx+3A8h], 0FFFFFFFDh ; +0xdc, 0x180136c6c mov rcx, [rbp+var_10] ; +0xe3, 0x180136c73 xor rcx, rsp; StackCookie ; +0xe7, 0x180136c77 call __security_check_cookie ; +0xea, 0x180136c7a lea r11, [rsp+80h+var_s0] ; +0xef, 0x180136c7f mov rbx, [r11+10h] ; +0xf7, 0x180136c87 mov rsi, [r11+18h] ; +0xfb, 0x180136c8b mov rdi, [r11+20h] ; +0xff, 0x180136c8f mov rsp, r11 ; +0x103, 0x180136c93 pop rbp ; +0x106, 0x180136c96 retn ; +0x107, 0x180136c97