{"type": "func", "start": 6443630368, "end": 6443630446, "name": "__alloca_probe", "pseudocode": "// \n// __alloca_probe from 0x18011ff20 to 0x18011ff6e (78 bytes)\n// \n// 73 xrefs:\n// > sub_180001540 @ 0x1800015fb\n// > sub_180001540 @ 0x1800016ef\n// > sub_180001A10 @ 0x180001aff\n// > sub_180001A10 @ 0x180001cb5\n// > sub_180001A10 @ 0x180001dd3\n// > sub_180001E90 @ 0x180001f01\n// > sub_180001E90 @ 0x180001f3d\n// > sub_180001E90 @ 0x180002028\n// > sub_180006380 @ 0x1800063ef\n// > sub_180006380 @ 0x180006464\n// > sub_180006ED0 @ 0x180006f2d\n// > sub_180008050 @ 0x1800080d2\n// > sub_180008050 @ 0x1800080fb\n// > sub_180008050 @ 0x18000811c\n// > sub_180008050 @ 0x180008139\n// > sub_180008050 @ 0x180008222\n// > sub_180008660 @ 0x18000870b\n// > sub_180008660 @ 0x18000872c\n// > sub_180008E90 @ 0x180008f6e\n// > sub_180008E90 @ 0x180008f93\n// > sub_180009770 @ 0x180009893\n// > sub_180009770 @ 0x1800098c5\n// > sub_180009770 @ 0x180009b57\n// > sub_180009D60 @ 0x180009e31\n// > sub_180015650 @ 0x180015659\n// > sub_180017630 @ 0x180017645\n// > sub_180017A50 @ 0x180017b00\n// > sub_180018DF0 @ 0x180018e0d\n// > sub_18001C780 @ 0x18001c79a\n// > sub_180022480 @ 0x18002249a\n// > sub_1800273E0 @ 0x1800273fa\n// > sub_180029320 @ 0x180029336\n// > sub_180031D30 @ 0x180031d48\n// > sub_1800364B0 @ 0x1800364d5\n// > sub_180037A60 @ 0x180037a7a\n// > sub_18003C030 @ 0x18003c042\n// > sub_18003C030 @ 0x18003c265\n// > sub_18003C5E0 @ 0x18003c5e9\n// > sub_18003F610 @ 0x18003f62a\n// > sub_180049D80 @ 0x180049df7\n// > sub_180049D80 @ 0x180049e23\n// > sub_18004D3F0 @ 0x18004d486\n// > sub_18004D3F0 @ 0x18004d4af\n// > sub_18004D3F0 @ 0x18004d4d0\n// > sub_18004D3F0 @ 0x18004d4f1\n// > sub_18004F5A0 @ 0x18004f651\n// > sub_18004F920 @ 0x18004faab\n// > sub_18004F920 @ 0x18004fb93\n// > sub_180058150 @ 0x180058165\n// > sub_180058780 @ 0x180058795\n// > sub_1800B4680 @ 0x1800b4699\n// > sub_1800B5550 @ 0x1800b5565\n// > sub_1800B7960 @ 0x1800b796b\n// > sub_1800C1C80 @ 0x1800c1de7\n// > sub_1800CB9B0 @ 0x1800cb9b7\n// > sub_1800CF170 @ 0x1800cf17a\n// > sub_1800CF380 @ 0x1800cf387\n// > sub_1800D7EC0 @ 0x1800d7ed1\n// > sub_1800D7EC0 @ 0x1800d87e6\n// > sub_1800D7EC0 @ 0x1800d8817\n// > sub_1800EC440 @ 0x1800ec450\n// > sub_1800FE610 @ 0x1800fe622\n// > sub_180108590 @ 0x18010859e\n// > sub_18010BF50 @ 0x18010bf65\n// > InternalCompareStringA @ 0x18013bc84\n// > InternalCompareStringA @ 0x18013bd49\n// > __acrt_GetStringTypeA @ 0x18013d7e7\n// > write_text_ansi_nolock @ 0x18013fee3\n// > write_text_utf16le_nolock @ 0x18013ffe7\n// > write_text_utf8_nolock @ 0x180140107\n// > __acrt_LCMapStringA_stat @ 0x180140ce3\n// > __acrt_LCMapStringA_stat @ 0x180140e17\n// > <???> @ 0x180202408\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\nunsigned __int64 __fastcall _alloca_probe()\n{\n  unsigned __int64 result; // rax\n  char *v1; // r10\n  char *StackLimit; // r11\n  char v3; // [rsp+18h] [rbp+8h] BYREF\n\n  v1 = &v3 - result;\n  if ( (unsigned __int64)&v3 < result )\n    v1 = nullptr;\n  StackLimit = (char *)NtCurrentTeb()->NtTib.StackLimit;\n  if ( v1 < StackLimit )\n  {\n    LOWORD(v1) = (unsigned __int16)v1 & 0xF000;\n    do\n    {\n      StackLimit -= 4096;\n      *StackLimit = 0;\n    }\n    while ( v1 != StackLimit );\n  }\n  return result;\n}", "assembly": "; \n; __alloca_probe from 0x18011ff20 to 0x18011ff6e (78 bytes)\n; \n; 73 xrefs:\n; > sub_180001540 @ 0x1800015fb\n; > sub_180001540 @ 0x1800016ef\n; > sub_180001A10 @ 0x180001aff\n; > sub_180001A10 @ 0x180001cb5\n; > sub_180001A10 @ 0x180001dd3\n; > sub_180001E90 @ 0x180001f01\n; > sub_180001E90 @ 0x180001f3d\n; > sub_180001E90 @ 0x180002028\n; > sub_180006380 @ 0x1800063ef\n; > sub_180006380 @ 0x180006464\n; > sub_180006ED0 @ 0x180006f2d\n; > sub_180008050 @ 0x1800080d2\n; > sub_180008050 @ 0x1800080fb\n; > sub_180008050 @ 0x18000811c\n; > sub_180008050 @ 0x180008139\n; > sub_180008050 @ 0x180008222\n; > sub_180008660 @ 0x18000870b\n; > sub_180008660 @ 0x18000872c\n; > sub_180008E90 @ 0x180008f6e\n; > sub_180008E90 @ 0x180008f93\n; > sub_180009770 @ 0x180009893\n; > sub_180009770 @ 0x1800098c5\n; > sub_180009770 @ 0x180009b57\n; > sub_180009D60 @ 0x180009e31\n; > sub_180015650 @ 0x180015659\n; > sub_180017630 @ 0x180017645\n; > sub_180017A50 @ 0x180017b00\n; > sub_180018DF0 @ 0x180018e0d\n; > sub_18001C780 @ 0x18001c79a\n; > sub_180022480 @ 0x18002249a\n; > sub_1800273E0 @ 0x1800273fa\n; > sub_180029320 @ 0x180029336\n; > sub_180031D30 @ 0x180031d48\n; > sub_1800364B0 @ 0x1800364d5\n; > sub_180037A60 @ 0x180037a7a\n; > sub_18003C030 @ 0x18003c042\n; > sub_18003C030 @ 0x18003c265\n; > sub_18003C5E0 @ 0x18003c5e9\n; > sub_18003F610 @ 0x18003f62a\n; > sub_180049D80 @ 0x180049df7\n; > sub_180049D80 @ 0x180049e23\n; > sub_18004D3F0 @ 0x18004d486\n; > sub_18004D3F0 @ 0x18004d4af\n; > sub_18004D3F0 @ 0x18004d4d0\n; > sub_18004D3F0 @ 0x18004d4f1\n; > sub_18004F5A0 @ 0x18004f651\n; > sub_18004F920 @ 0x18004faab\n; > sub_18004F920 @ 0x18004fb93\n; > sub_180058150 @ 0x180058165\n; > sub_180058780 @ 0x180058795\n; > sub_1800B4680 @ 0x1800b4699\n; > sub_1800B5550 @ 0x1800b5565\n; > sub_1800B7960 @ 0x1800b796b\n; > sub_1800C1C80 @ 0x1800c1de7\n; > sub_1800CB9B0 @ 0x1800cb9b7\n; > sub_1800CF170 @ 0x1800cf17a\n; > sub_1800CF380 @ 0x1800cf387\n; > sub_1800D7EC0 @ 0x1800d7ed1\n; > sub_1800D7EC0 @ 0x1800d87e6\n; > sub_1800D7EC0 @ 0x1800d8817\n; > sub_1800EC440 @ 0x1800ec450\n; > sub_1800FE610 @ 0x1800fe622\n; > sub_180108590 @ 0x18010859e\n; > sub_18010BF50 @ 0x18010bf65\n; > InternalCompareStringA @ 0x18013bc84\n; > InternalCompareStringA @ 0x18013bd49\n; > __acrt_GetStringTypeA @ 0x18013d7e7\n; > write_text_ansi_nolock @ 0x18013fee3\n; > write_text_utf16le_nolock @ 0x18013ffe7\n; > write_text_utf8_nolock @ 0x180140107\n; > __acrt_LCMapStringA_stat @ 0x180140ce3\n; > __acrt_LCMapStringA_stat @ 0x180140e17\n; > <???> @ 0x180202408\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\nsub     rsp, 10h                                                       ; +0x0, 0x18011ff20\nmov     [rsp+10h+var_10], r10                                          ; +0x4, 0x18011ff24\nmov     [rsp+10h+var_8], r11                                           ; +0x8, 0x18011ff28\nxor     r11, r11                                                       ; +0xd, 0x18011ff2d\nlea     r10, [rsp+10h+arg_0]                                           ; +0x10, 0x18011ff30\nsub     r10, rax                                                       ; +0x15, 0x18011ff35\ncmovb   r10, r11                                                       ; +0x18, 0x18011ff38\nmov     r11, gs:10h                                                    ; +0x1c, 0x18011ff3c\ncmp     r10, r11                                                       ; +0x25, 0x18011ff45\njnb     short cs20                                                     ; +0x28, 0x18011ff48\nand     r10w, 0F000h                                                   ; +0x2a, 0x18011ff4a\nlea     r11, [r11-1000h]                                               ; +0x30, 0x18011ff50\nmov     byte ptr [r11], 0                                              ; +0x37, 0x18011ff57\ncmp     r10, r11                                                       ; +0x3b, 0x18011ff5b\njnz     short cs10                                                     ; +0x3e, 0x18011ff5e\nmov     r10, [rsp+10h+var_10]                                          ; +0x40, 0x18011ff60\nmov     r11, [rsp+10h+var_8]                                           ; +0x44, 0x18011ff64\nadd     rsp, 10h                                                       ; +0x49, 0x18011ff69\nretn                                                                   ; +0x4d, 0x18011ff6d", "xrefs": ["sub_180001540 @ 0x1800015fb", "sub_180001540 @ 0x1800016ef", "sub_180001A10 @ 0x180001aff", "sub_180001A10 @ 0x180001cb5", "sub_180001A10 @ 0x180001dd3", "sub_180001E90 @ 0x180001f01", "sub_180001E90 @ 0x180001f3d", "sub_180001E90 @ 0x180002028", "sub_180006380 @ 0x1800063ef", "sub_180006380 @ 0x180006464", "sub_180006ED0 @ 0x180006f2d", "sub_180008050 @ 0x1800080d2", "sub_180008050 @ 0x1800080fb", "sub_180008050 @ 0x18000811c", "sub_180008050 @ 0x180008139", "sub_180008050 @ 0x180008222", "sub_180008660 @ 0x18000870b", "sub_180008660 @ 0x18000872c", "sub_180008E90 @ 0x180008f6e", "sub_180008E90 @ 0x180008f93", "sub_180009770 @ 0x180009893", "sub_180009770 @ 0x1800098c5", "sub_180009770 @ 0x180009b57", "sub_180009D60 @ 0x180009e31", "sub_180015650 @ 0x180015659", "sub_180017630 @ 0x180017645", "sub_180017A50 @ 0x180017b00", "sub_180018DF0 @ 0x180018e0d", "sub_18001C780 @ 0x18001c79a", "sub_180022480 @ 0x18002249a", "sub_1800273E0 @ 0x1800273fa", "sub_180029320 @ 0x180029336", "sub_180031D30 @ 0x180031d48", "sub_1800364B0 @ 0x1800364d5", "sub_180037A60 @ 0x180037a7a", "sub_18003C030 @ 0x18003c042", "sub_18003C030 @ 0x18003c265", "sub_18003C5E0 @ 0x18003c5e9", "sub_18003F610 @ 0x18003f62a", "sub_180049D80 @ 0x180049df7", "sub_180049D80 @ 0x180049e23", "sub_18004D3F0 @ 0x18004d486", "sub_18004D3F0 @ 0x18004d4af", "sub_18004D3F0 @ 0x18004d4d0", "sub_18004D3F0 @ 0x18004d4f1", "sub_18004F5A0 @ 0x18004f651", "sub_18004F920 @ 0x18004faab", "sub_18004F920 @ 0x18004fb93", "sub_180058150 @ 0x180058165", "sub_180058780 @ 0x180058795", "sub_1800B4680 @ 0x1800b4699", "sub_1800B5550 @ 0x1800b5565", "sub_1800B7960 @ 0x1800b796b", "sub_1800C1C80 @ 0x1800c1de7", "sub_1800CB9B0 @ 0x1800cb9b7", "sub_1800CF170 @ 0x1800cf17a", "sub_1800CF380 @ 0x1800cf387", "sub_1800D7EC0 @ 0x1800d7ed1", "sub_1800D7EC0 @ 0x1800d87e6", "sub_1800D7EC0 @ 0x1800d8817", "sub_1800EC440 @ 0x1800ec450", "sub_1800FE610 @ 0x1800fe622", "sub_180108590 @ 0x18010859e", "sub_18010BF50 @ 0x18010bf65", "InternalCompareStringA @ 0x18013bc84", "InternalCompareStringA @ 0x18013bd49", "__acrt_GetStringTypeA @ 0x18013d7e7", "write_text_ansi_nolock @ 0x18013fee3", "write_text_utf16le_nolock @ 0x18013ffe7", "write_text_utf8_nolock @ 0x180140107", "__acrt_LCMapStringA_stat @ 0x180140ce3", "__acrt_LCMapStringA_stat @ 0x180140e17", "<???> @ 0x180202408"], "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"}