{"type": "func", "start": 6443723556, "end": 6443723664, "name": "iswctype", "pseudocode": "// \n// iswctype from 0x180136b24 to 0x180136b90 (108 bytes)\n// \n// 2 xrefs:\n// > __crt_strtox::parse_integer<ulong,__crt_strtox::c_string_character_source<wchar_t>> @ 0x18012a8be\n// > <???> @ 0x18020356c\n// \n// This function is hookable on this platform!\n// \n// Using BromaIDA 8.0.0 @ https://github.com/Stazzical/BromaIDA\n// Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings\n// \n\nint __cdecl iswctype(wint_t C, wctype_t Type)\n{\n  int v2; // ebx\n  int v3; // eax\n  WORD CharType; // [rsp+30h] [rbp+8h] BYREF\n  WCHAR SrcStr; // [rsp+40h] [rbp+18h] BYREF\n\n  v2 = Type;\n  if ( C != 0xFFFF )\n  {\n    if ( C < 0x100u )\n    {\n      v3 = *((unsigned __int16 *)off_1801B1A40 + C);\n      return v2 & v3;\n    }\n    SrcStr = C;\n    CharType = 0;\n    if ( GetStringTypeW(1u, &SrcStr, 1, &CharType) )\n    {\n      v3 = CharType;\n      return v2 & v3;\n    }\n  }\n  return 0;\n}", "assembly": "; \n; iswctype from 0x180136b24 to 0x180136b90 (108 bytes)\n; \n; 2 xrefs:\n; > __crt_strtox::parse_integer<ulong,__crt_strtox::c_string_character_source<wchar_t>> @ 0x18012a8be\n; > <???> @ 0x18020356c\n; \n; This function is hookable on this platform!\n; \n; Using BromaIDA 8.0.0 @ https:;github.com/Stazzical/BromaIDA\n; Using bindings at commit ba9f177b at Thu Jul 16 22:52:06 2026 from https:;github.com/geode-sdk/bindings\n; \n\nmov     [rsp+arg_8], rbx                                               ; +0x0, 0x180136b24\npush    rdi                                                            ; +0x5, 0x180136b29\nsub     rsp, 20h                                                       ; +0x6, 0x180136b2a\nmov     eax, 0FFFFh                                                    ; +0xa, 0x180136b2e\nmovzx   ebx, dx                                                        ; +0xf, 0x180136b33\ncmp     cx, ax                                                         ; +0x12, 0x180136b36\njz      short loc_180136B83                                            ; +0x15, 0x180136b39\nmov     eax, 100h                                                      ; +0x17, 0x180136b3b\ncmp     cx, ax                                                         ; +0x1c, 0x180136b40\njnb     short loc_180136B57                                            ; +0x1f, 0x180136b43\nmov     rax, cs:off_1801B1A40                                          ; +0x21, 0x180136b45\nmovzx   ecx, cx                                                        ; +0x28, 0x180136b4c\nmovzx   eax, word ptr [rax+rcx*2]                                      ; +0x2b, 0x180136b4f\nand     eax, ebx                                                       ; +0x2f, 0x180136b53\njmp     short loc_180136B85                                            ; +0x31, 0x180136b55\nxor     edi, edi                                                       ; +0x33, 0x180136b57\nmov     [rsp+28h+SrcStr], cx                                           ; +0x35, 0x180136b59\nlea     r9, [rsp+28h+CharType]; lpCharType                             ; +0x3a, 0x180136b5e\nmov     [rsp+28h+CharType], di                                         ; +0x3f, 0x180136b63\nlea     rdx, [rsp+28h+SrcStr]; lpSrcStr                                ; +0x44, 0x180136b68\nlea     ecx, [rdi+1]; dwInfoType                                       ; +0x49, 0x180136b6d\nmov     r8d, ecx; cchSrc                                               ; +0x4c, 0x180136b70\ncall    GetStringTypeW                                                 ; +0x4f, 0x180136b73\ntest    eax, eax                                                       ; +0x54, 0x180136b78\njz      short loc_180136B83                                            ; +0x56, 0x180136b7a\nmovzx   eax, [rsp+28h+CharType]                                        ; +0x58, 0x180136b7c\njmp     short loc_180136B53                                            ; +0x5d, 0x180136b81\nxor     eax, eax                                                       ; +0x5f, 0x180136b83\nmov     rbx, [rsp+28h+arg_8]                                           ; +0x61, 0x180136b85\nadd     rsp, 20h                                                       ; +0x66, 0x180136b8a\npop     rdi                                                            ; +0x6a, 0x180136b8e\nretn                                                                   ; +0x6b, 0x180136b8f", "xrefs": ["__crt_strtox::parse_integer<ulong,__crt_strtox::c_string_character_source<wchar_t>> @ 0x18012a8be", "<???> @ 0x18020356c"], "is_objc": false, "is_arm32": false, "is_arm64": false, "bida_info": "8.0.0 @ https://github.com/Stazzical/BromaIDA", "bindings_info": "commit ba9f177b at Thu Jul 16 22:52:06 2026 from https://github.com/geode-sdk/bindings"}