{"type": "func", "start": 340680, "end": 340808, "name": "sub_532C8", "pseudocode": "// \n// sub_532C8 from 0x532c8 to 0x53348 (128 bytes)\n// \n// 1 xrefs:\n// > <???> @ 0x10c268\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\n__int64 __fastcall sub_532C8(__int64 a1, _BYTE *a2)\n{\n  char v2; // w8\n  char v3; // w8\n  __int64 v4; // x8\n  char v5; // w8\n  __int64 v6; // x8\n  char v7; // w8\n  __int64 v8; // x8\n  char v9; // w8\n\n  v2 = atomic_load((unsigned int *)(*(_QWORD *)(*(_QWORD *)(a1 + 24) + 96LL) + 100LL));\n  if ( v2 < 0 )\n  {\n    if ( !*(_QWORD *)(a1 + 40) || !*(_QWORD *)(a1 + 664) || (v3 = atomic_load((unsigned int *)(a1 + 212)), v3 < 0) )\n    {\n      v4 = *(_QWORD *)(a1 + 736);\n      if ( !v4 || (v5 = atomic_load((unsigned int *)(v4 + 100)), v5 < 0) )\n      {\n        v6 = *(_QWORD *)(a1 + 744);\n        if ( !v6 || (v7 = atomic_load((unsigned int *)(v6 + 100)), v7 < 0) )\n        {\n          v8 = *(_QWORD *)(a1 + 48);\n          if ( !v8 || (v9 = atomic_load((unsigned int *)(v8 + 100)), v9 < 0) )\n            JUMPOUT(0x525A4);\n        }\n      }\n    }\n  }\n  *a2 = 1;\n  return 0;\n}", "assembly": "; \n; sub_532C8 from 0x532c8 to 0x53348 (128 bytes)\n; \n; 1 xrefs:\n; > <???> @ 0x10c268\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\nLDR             X8, [X0,#0x18]                                         ; +0x0, 0x532c8\nLDR             X8, [X8,#0x60]                                         ; +0x4, 0x532cc\nADD             X8, X8, #0x64 ; 'd'                                    ; +0x8, 0x532d0\nLDAR            W8, [X8]                                               ; +0xc, 0x532d4\nTBZ             W8, #7, loc_53334                                      ; +0x10, 0x532d8\nLDR             X8, [X0,#0x28]                                         ; +0x14, 0x532dc\nCBZ             X8, loc_532F8                                          ; +0x18, 0x532e0\nLDR             X8, [X0,#0x298]                                        ; +0x1c, 0x532e4\nCBZ             X8, loc_532F8                                          ; +0x20, 0x532e8\nADD             X8, X0, #0xD4                                          ; +0x24, 0x532ec\nLDAR            W8, [X8]                                               ; +0x28, 0x532f0\nTBZ             W8, #7, loc_53334                                      ; +0x2c, 0x532f4\nLDR             X8, [X0,#0x2E0]                                        ; +0x30, 0x532f8\nCBZ             X8, loc_5330C                                          ; +0x34, 0x532fc\nADD             X8, X8, #0x64 ; 'd'                                    ; +0x38, 0x53300\nLDAR            W8, [X8]                                               ; +0x3c, 0x53304\nTBZ             W8, #7, loc_53334                                      ; +0x40, 0x53308\nLDR             X8, [X0,#0x2E8]                                        ; +0x44, 0x5330c\nCBZ             X8, loc_53320                                          ; +0x48, 0x53310\nADD             X8, X8, #0x64 ; 'd'                                    ; +0x4c, 0x53314\nLDAR            W8, [X8]                                               ; +0x50, 0x53318\nTBZ             W8, #7, loc_53334                                      ; +0x54, 0x5331c\nLDR             X8, [X0,#0x30]                                         ; +0x58, 0x53320\nCBZ             X8, loc_53344                                          ; +0x5c, 0x53324\nADD             X8, X8, #0x64 ; 'd'                                    ; +0x60, 0x53328\nLDAR            W8, [X8]                                               ; +0x64, 0x5332c\nTBNZ            W8, #7, loc_53344                                      ; +0x68, 0x53330\nMOV             W8, #1                                                 ; +0x6c, 0x53334\nMOV             W0, WZR                                                ; +0x70, 0x53338\nSTRB            W8, [X1]                                               ; +0x74, 0x5333c\nRET                                                                    ; +0x78, 0x53340\nB               loc_525A4                                              ; +0x7c, 0x53344", "xrefs": ["<???> @ 0x10c268"], "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"}