{"type": "func", "start": 6443716256, "end": 6443716346, "name": "__acrt_MultiByteToWideChar", "pseudocode": "// \n// __acrt_MultiByteToWideChar from 0x180134ea0 to 0x180134efa (90 bytes)\n// \n// 14 xrefs:\n// > __acrt_mbs_to_wcs_cp<__crt_win32_buffer_internal_dynamic_resizing> @ 0x18012900a\n// > __acrt_mbs_to_wcs_cp<__crt_win32_buffer_internal_dynamic_resizing> @ 0x180129092\n// > initialize_environment_by_cloning_nolock<wchar_t> @ 0x1801322c4\n// > initialize_environment_by_cloning_nolock<wchar_t> @ 0x1801322f9\n// > _mbtowc_l @ 0x180137394\n// > _mbtowc_l @ 0x1801373dc\n// > InternalCompareStringA @ 0x18013bc3c\n// > InternalCompareStringA @ 0x18013bcde\n// > InternalCompareStringA @ 0x18013bd04\n// > InternalCompareStringA @ 0x18013bd9e\n// > __acrt_GetStringTypeA @ 0x18013d79f\n// > __acrt_GetStringTypeA @ 0x18013d845\n// > __acrt_LCMapStringA_stat @ 0x180140c9b\n// > __acrt_LCMapStringA_stat @ 0x180140d40\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_MultiByteToWideChar(UINT a1, char a2, const CHAR *a3, int a4, WCHAR *a5, int a6)\n{\n  int v6; // r10d\n\n  if ( a1 > 0xC435 )\n  {\n    if ( a1 != 54936 )\n    {\n      if ( a1 <= 0xDEA9 )\n        return MultiByteToWideChar(a1, a2, a3, a4, a5, a6);\n      if ( a1 <= 0xDEB3 || a1 == 65000 )\n        goto LABEL_5;\n      if ( a1 != 65001 )\n        return MultiByteToWideChar(a1, a2, a3, a4, a5, a6);\n    }\n    a2 &= 8u;\n    return MultiByteToWideChar(a1, a2, a3, a4, a5, a6);\n  }\n  if ( a1 - 50220 <= 9 && (v6 = 679, _bittest(&v6, a1 - 50220)) || a1 == 42 )\nLABEL_5:\n    a2 = 0;\n  return MultiByteToWideChar(a1, a2, a3, a4, a5, a6);\n}", "assembly": "; \n; __acrt_MultiByteToWideChar from 0x180134ea0 to 0x180134efa (90 bytes)\n; \n; 14 xrefs:\n; > __acrt_mbs_to_wcs_cp<__crt_win32_buffer_internal_dynamic_resizing> @ 0x18012900a\n; > __acrt_mbs_to_wcs_cp<__crt_win32_buffer_internal_dynamic_resizing> @ 0x180129092\n; > initialize_environment_by_cloning_nolock<wchar_t> @ 0x1801322c4\n; > initialize_environment_by_cloning_nolock<wchar_t> @ 0x1801322f9\n; > _mbtowc_l @ 0x180137394\n; > _mbtowc_l @ 0x1801373dc\n; > InternalCompareStringA @ 0x18013bc3c\n; > InternalCompareStringA @ 0x18013bcde\n; > InternalCompareStringA @ 0x18013bd04\n; > InternalCompareStringA @ 0x18013bd9e\n; > __acrt_GetStringTypeA @ 0x18013d79f\n; > __acrt_GetStringTypeA @ 0x18013d845\n; > __acrt_LCMapStringA_stat @ 0x180140c9b\n; > __acrt_LCMapStringA_stat @ 0x180140d40\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\ncmp     ecx, 0C435h                                                    ; +0x0, 0x180134ea0\nja      short loc_180134EC8                                            ; +0x6, 0x180134ea6\nlea     eax, [rcx-0C42Ch]                                              ; +0x8, 0x180134ea8\ncmp     eax, 9                                                         ; +0xe, 0x180134eae\nja      short loc_180134EBF                                            ; +0x11, 0x180134eb1\nmov     r10d, 2A7h                                                     ; +0x13, 0x180134eb3\nbt      r10d, eax                                                      ; +0x19, 0x180134eb9\njb      short loc_180134EC4                                            ; +0x1d, 0x180134ebd\ncmp     ecx, 2Ah ; '*'                                                 ; +0x1f, 0x180134ebf\njnz     short loc_180134EF3                                            ; +0x22, 0x180134ec2\nxor     edx, edx                                                       ; +0x24, 0x180134ec4\njmp     short loc_180134EF3                                            ; +0x26, 0x180134ec6\ncmp     ecx, 0D698h                                                    ; +0x28, 0x180134ec8\njz      short loc_180134EF0                                            ; +0x2e, 0x180134ece\ncmp     ecx, 0DEA9h                                                    ; +0x30, 0x180134ed0\njbe     short loc_180134EF3                                            ; +0x36, 0x180134ed6\ncmp     ecx, 0DEB3h                                                    ; +0x38, 0x180134ed8\njbe     short loc_180134EC4                                            ; +0x3e, 0x180134ede\ncmp     ecx, 0FDE8h                                                    ; +0x40, 0x180134ee0\njz      short loc_180134EC4                                            ; +0x46, 0x180134ee6\ncmp     ecx, 0FDE9h                                                    ; +0x48, 0x180134ee8\njnz     short loc_180134EF3                                            ; +0x4e, 0x180134eee\nand     edx, 8                                                         ; +0x50, 0x180134ef0\njmp     cs:MultiByteToWideChar                                         ; +0x53, 0x180134ef3", "xrefs": ["__acrt_mbs_to_wcs_cp<__crt_win32_buffer_internal_dynamic_resizing> @ 0x18012900a", "__acrt_mbs_to_wcs_cp<__crt_win32_buffer_internal_dynamic_resizing> @ 0x180129092", "initialize_environment_by_cloning_nolock<wchar_t> @ 0x1801322c4", "initialize_environment_by_cloning_nolock<wchar_t> @ 0x1801322f9", "_mbtowc_l @ 0x180137394", "_mbtowc_l @ 0x1801373dc", "InternalCompareStringA @ 0x18013bc3c", "InternalCompareStringA @ 0x18013bcde", "InternalCompareStringA @ 0x18013bd04", "InternalCompareStringA @ 0x18013bd9e", "__acrt_GetStringTypeA @ 0x18013d79f", "__acrt_GetStringTypeA @ 0x18013d845", "__acrt_LCMapStringA_stat @ 0x180140c9b", "__acrt_LCMapStringA_stat @ 0x180140d40"], "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"}