{"type": "func", "start": 6443718836, "end": 6443719056, "name": "__acrt_CompareStringEx", "pseudocode": "// \n// __acrt_CompareStringEx from 0x1801358b4 to 0x180135990 (220 bytes)\n// \n// 3 xrefs:\n// > __crtCompareStringW @ 0x18013b904\n// > InternalCompareStringA @ 0x18013bdd0\n// > <???> @ 0x1802033e0\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 __fastcall _acrt_CompareStringEx(\n        __int64 a1,\n        DWORD a2,\n        const WCHAR *a3,\n        unsigned int a4,\n        const WCHAR *lpString2,\n        int cchCount2,\n        __int64 a7,\n        __int64 a8,\n        __int64 a9)\n{\n  FARPROC function; // rax\n  LCID v15; // eax\n\n  function = try_get_function(1u, \"CompareStringEx\", (unsigned int *)&unk_1801749A0, (unsigned int *)\"CompareStringEx\");\n  if ( function )\n    return ((__int64 (__fastcall *)(__int64, _QWORD, const WCHAR *, _QWORD, const WCHAR *, int, __int64, __int64, __int64))function)(\n             a1,\n             a2,\n             a3,\n             a4,\n             lpString2,\n             cchCount2,\n             a7,\n             a8,\n             a9);\n  v15 = _acrt_LocaleNameToLCID(a1, 0);\n  return CompareStringW(v15, a2, a3, a4, lpString2, cchCount2);\n}", "assembly": "; \n; __acrt_CompareStringEx from 0x1801358b4 to 0x180135990 (220 bytes)\n; \n; 3 xrefs:\n; > __crtCompareStringW @ 0x18013b904\n; > InternalCompareStringA @ 0x18013bdd0\n; > <???> @ 0x1802033e0\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_0], rbx                                               ; +0x0, 0x1801358b4\nmov     [rsp+arg_8], rbp                                               ; +0x5, 0x1801358b9\nmov     [rsp+arg_10], rsi                                              ; +0xa, 0x1801358be\npush    rdi                                                            ; +0xf, 0x1801358c3\nsub     rsp, 50h                                                       ; +0x10, 0x1801358c4\nmov     ebx, r9d                                                       ; +0x14, 0x1801358c8\nmov     rdi, r8                                                        ; +0x17, 0x1801358cb\nmov     esi, edx                                                       ; +0x1a, 0x1801358ce\nlea     r9, aComparestringe                                            ; +0x1c, 0x1801358d0\nmov     rbp, rcx                                                       ; +0x23, 0x1801358d7\nlea     r8, unk_1801749A0                                              ; +0x26, 0x1801358da\nlea     rdx, aComparestringe                                           ; +0x2d, 0x1801358e1\nmov     ecx, 1                                                         ; +0x34, 0x1801358e8\ncall    ?try_get_function@@YAPEAXW4function_id@?A0x37284e77@@QEBDQEBW4module_id@2@2@Z ; +0x39, 0x1801358ed\ntest    rax, rax                                                       ; +0x3e, 0x1801358f2\njz      short loc_180135949                                            ; +0x41, 0x1801358f5\nmov     r8, [rsp+58h+arg_40]                                           ; +0x43, 0x1801358f7\nmov     r9d, ebx                                                       ; +0x4b, 0x1801358ff\nmov     rcx, [rsp+58h+arg_38]                                          ; +0x4e, 0x180135902\nmov     edx, esi                                                       ; +0x56, 0x18013590a\nmov     [rsp+58h+var_18], r8                                           ; +0x58, 0x18013590c\nmov     r8, rdi                                                        ; +0x5d, 0x180135911\nmov     [rsp+58h+var_20], rcx                                          ; +0x60, 0x180135914\nmov     rcx, [rsp+58h+arg_30]                                          ; +0x65, 0x180135919\nmov     [rsp+58h+var_28], rcx                                          ; +0x6d, 0x180135921\nmov     ecx, [rsp+58h+arg_28]                                          ; +0x72, 0x180135926\nmov     [rsp+58h+cchCount2], ecx                                       ; +0x79, 0x18013592d\nmov     rcx, [rsp+58h+arg_20]                                          ; +0x7d, 0x180135931\nmov     [rsp+58h+lpString2], rcx                                       ; +0x85, 0x180135939\nmov     rcx, rbp                                                       ; +0x8a, 0x18013593e\ncall    cs:__guard_dispatch_icall_fptr                                 ; +0x8d, 0x180135941\njmp     short loc_18013597B                                            ; +0x93, 0x180135947\nxor     edx, edx                                                       ; +0x95, 0x180135949\nmov     rcx, rbp                                                       ; +0x97, 0x18013594b\ncall    __acrt_LocaleNameToLCID                                        ; +0x9a, 0x18013594e\nmov     ecx, eax; Locale                                               ; +0x9f, 0x180135953\nmov     r9d, ebx; cchCount1                                            ; +0xa1, 0x180135955\nmov     eax, [rsp+58h+arg_28]                                          ; +0xa4, 0x180135958\nmov     r8, rdi; lpString1                                             ; +0xab, 0x18013595f\nmov     [rsp+58h+cchCount2], eax; cchCount2                            ; +0xae, 0x180135962\nmov     edx, esi; dwCmpFlags                                           ; +0xb2, 0x180135966\nmov     rax, [rsp+58h+arg_20]                                          ; +0xb4, 0x180135968\nmov     [rsp+58h+lpString2], rax; lpString2                            ; +0xbc, 0x180135970\ncall    cs:CompareStringW                                              ; +0xc1, 0x180135975\nmov     rbx, [rsp+58h+arg_0]                                           ; +0xc7, 0x18013597b\nmov     rbp, [rsp+58h+arg_8]                                           ; +0xcc, 0x180135980\nmov     rsi, [rsp+58h+arg_10]                                          ; +0xd1, 0x180135985\nadd     rsp, 50h                                                       ; +0xd6, 0x18013598a\npop     rdi                                                            ; +0xda, 0x18013598e\nretn                                                                   ; +0xdb, 0x18013598f", "xrefs": ["__crtCompareStringW @ 0x18013b904", "InternalCompareStringA @ 0x18013bdd0", "<???> @ 0x1802033e0"], "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"}