{"type": "func", "start": 6442582960, "end": 6442583038, "name": "__alloca_probe", "pseudocode": "// \n// __alloca_probe from 0x1800203b0 to 0x1800203fe (78 bytes)\n// \n// 2 xrefs:\n// > cocos2d::extension::AssetsManager::uncompress @ 0x180001ee5\n// > <???> @ 0x18004b328\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 0x1800203b0 to 0x1800203fe (78 bytes)\n; \n; 2 xrefs:\n; > cocos2d::extension::AssetsManager::uncompress @ 0x180001ee5\n; > <???> @ 0x18004b328\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, 0x1800203b0\nmov     [rsp+10h+var_10], r10                                          ; +0x4, 0x1800203b4\nmov     [rsp+10h+var_8], r11                                           ; +0x8, 0x1800203b8\nxor     r11, r11                                                       ; +0xd, 0x1800203bd\nlea     r10, [rsp+10h+arg_0]                                           ; +0x10, 0x1800203c0\nsub     r10, rax                                                       ; +0x15, 0x1800203c5\ncmovb   r10, r11                                                       ; +0x18, 0x1800203c8\nmov     r11, gs:10h                                                    ; +0x1c, 0x1800203cc\ncmp     r10, r11                                                       ; +0x25, 0x1800203d5\njnb     short cs20                                                     ; +0x28, 0x1800203d8\nand     r10w, 0F000h                                                   ; +0x2a, 0x1800203da\nlea     r11, [r11-1000h]                                               ; +0x30, 0x1800203e0\nmov     byte ptr [r11], 0                                              ; +0x37, 0x1800203e7\ncmp     r10, r11                                                       ; +0x3b, 0x1800203eb\njnz     short cs10                                                     ; +0x3e, 0x1800203ee\nmov     r10, [rsp+10h+var_10]                                          ; +0x40, 0x1800203f0\nmov     r11, [rsp+10h+var_8]                                           ; +0x44, 0x1800203f4\nadd     rsp, 10h                                                       ; +0x49, 0x1800203f9\nretn                                                                   ; +0x4d, 0x1800203fd", "xrefs": ["cocos2d::extension::AssetsManager::uncompress @ 0x180001ee5", "<???> @ 0x18004b328"], "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"}