{"type": "func", "start": 344444, "end": 345292, "name": "sub_5417C", "pseudocode": "// \n// sub_5417C from 0x5417c to 0x544cc (848 bytes)\n// \n// 1 xrefs:\n// > <???> @ 0x10c348\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_5417C(__int64 a1)\n{\n  __int64 v1; // x8\n  __int64 v3; // x20\n  __int64 v4; // x24\n  unsigned int v6; // w8\n  unsigned int *v7; // x8\n  unsigned int v8; // w9\n  unsigned int v9; // w21\n  unsigned int *v10; // x23\n  unsigned int v11; // w8\n  __int64 v12; // x0\n  unsigned int v13; // w0\n  unsigned int v14; // w8\n  __int64 v16; // x0\n  char v17; // w8\n  unsigned int v18; // w8\n  unsigned int v19; // w9\n  unsigned int v20; // w22\n  __int64 v21; // x0\n  unsigned int v22; // w8\n  unsigned int v23; // w8\n  unsigned int v24; // w9\n  bool v25; // cf\n  unsigned int v26; // w8\n  __int64 v27; // x0\n  unsigned int v28; // w8\n  unsigned int v29; // w9\n  unsigned int v30; // w8\n  int v31; // w21\n  __int64 v32; // x0\n  unsigned int v33; // w8\n  int v34; // w9\n  unsigned int v35; // w10\n  int v36; // w11\n  int v37; // w22\n  unsigned int v38; // w13\n  unsigned int v39; // w10\n  int v40; // w11\n  unsigned int v41; // w9\n  char v42; // w8\n  int v43; // w8\n  __int64 v44; // x0\n  __int64 v45; // x0\n  __int64 v46; // x8\n  unsigned int v47; // w8\n  _BYTE v48[4]; // [xsp+4h] [xbp-4Ch] BYREF\n  __int64 v49; // [xsp+8h] [xbp-48h] BYREF\n  int v50; // [xsp+10h] [xbp-40h]\n  char v51; // [xsp+14h] [xbp-3Ch]\n  __int64 v52; // [xsp+18h] [xbp-38h] BYREF\n\n  v1 = *(_QWORD *)(a1 + 8);\n  v51 = 0;\n  v50 = 8;\n  v49 = v1;\n  v52 = 0;\n  sub_520A0((__int64)&v49);\n  v3 = *(_QWORD *)(a1 + 40);\n  if ( !v3 )\n    goto LABEL_17;\n  v4 = *(_QWORD *)(v3 + 384);\n  if ( atomic_load((unsigned int *)(v3 + 272)) )\n  {\n    v6 = atomic_load((unsigned int *)(v3 + 272));\n    if ( v6 == 7 )\n    {\n      v7 = (unsigned int *)(v3 + 88);\n      do\n        v8 = __ldaxr(v7);\n      while ( __stlxr(v8 | 0x400, v7) );\n    }\n    v9 = 46;\n    goto LABEL_18;\n  }\n  v10 = (unsigned int *)(v3 + 88);\n  do\n    v11 = __ldaxr(v10);\n  while ( __stlxr(v11 & 0xFFFFFBFF, v10) );\n  if ( (*(_BYTE *)(a1 + 60) & 0x80) != 0 )\n  {\nLABEL_17:\n    v9 = 0;\n    goto LABEL_18;\n  }\n  v12 = *(_QWORD *)(a1 + 192);\n  if ( v12 )\n  {\n    v13 = (*(__int64 (__fastcall **)(__int64, _BYTE *, _QWORD))(*(_QWORD *)v12 + 184LL))(v12, v48, 0);\n    if ( v13 )\n    {\n      v9 = v13;\n      goto LABEL_18;\n    }\n    if ( !v48[0] )\n      ((void (*)(void))sub_54D20)();\n  }\n  if ( *(_BYTE *)(a1 + 136) )\n  {\n    do\n      v14 = __ldaxr(v10);\n    while ( __stlxr(v14 | 8, v10) );\n    goto LABEL_17;\n  }\n  v16 = *(_QWORD *)(a1 + 192);\n  if ( !v16\n    || (v9 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v16 + 72LL))(v16)) == 0\n    && (v9 = (*(__int64 (__fastcall **)(_QWORD, __int64 *))(**(_QWORD **)(a1 + 192) + 136LL))(\n               *(_QWORD *)(a1 + 192),\n               &v52)) == 0 )\n  {\n    while ( 1 )\n    {\n      v27 = ((__int64 (*)(void))sub_54D10)();\n      v28 = *(_DWORD *)(a1 + 156);\n      v29 = *(_DWORD *)(a1 + 160);\n      if ( v28 <= v29 )\n      {\n        if ( !v28 || (v25 = v29 >= v28, v30 = v29 - v28, v30 == 0 || !v25) || v30 < *(_DWORD *)(v3 + 396) )\n        {\nLABEL_43:\n          v31 = HIDWORD(v52) - *(_DWORD *)(a1 + 148);\n          if ( v31 < 0 )\n            v31 += *(_DWORD *)(v4 + 80);\n          v32 = sub_54D18(v27);\n          v34 = *(_DWORD *)(a1 + 88);\n          v33 = *(_DWORD *)(a1 + 92);\n          v35 = *(_DWORD *)(v3 + 68);\n          if ( v35 < v33 + v34 )\n          {\n            v33 = v35 - v34;\n            *(_DWORD *)(a1 + 92) = v35 - v34;\n          }\n          v36 = *(_DWORD *)(a1 + 56);\n          v37 = v31 & ~(v31 >> 31);\n          if ( (v36 & 2) != 0 && *(_DWORD *)(a1 + 84) )\n            v35 = v33 + v34;\n          v38 = v35 - 1;\n          v39 = *(_DWORD *)(a1 + 76) + v37;\n          *(_DWORD *)(a1 + 76) = v39;\n          if ( v39 > v38 )\n          {\n            if ( (v36 & 2) != 0 && (v40 = *(_DWORD *)(a1 + 84)) != 0 )\n            {\n              v41 = (v39 - v34) / v33;\n              if ( v40 >= 1 )\n              {\n                if ( v41 >= v40 )\n                  v41 = *(_DWORD *)(a1 + 84);\n                *(_DWORD *)(a1 + 84) = v40 - v41;\n              }\n              *(_DWORD *)(a1 + 76) = v39 - v41 * v33;\n            }\n            else if ( *(_DWORD *)(v3 + 68) == -1 )\n            {\n              *(_QWORD *)(a1 + 72) = 0;\n            }\n            else\n            {\n              v42 = atomic_load(v10);\n              if ( (v42 & 8) != 0 )\n              {\n                v43 = *(_DWORD *)(v3 + 68);\n                v44 = *(_QWORD *)(a1 + 192);\n                *(_DWORD *)(a1 + 72) = 0;\n                *(_DWORD *)(a1 + 76) = v43;\n                if ( v44 )\n                  v44 = sub_54CA8();\n                v32 = sub_54D20(v44);\n              }\n            }\n          }\n          sub_54D10(v32);\n          v9 = 0;\n          *(_DWORD *)(a1 + 156) += v37;\n          *(_QWORD *)(a1 + 144) = v52;\n          goto LABEL_18;\n        }\n      }\n      else if ( v28 - v29 < *(_DWORD *)(v3 + 396) )\n      {\n        goto LABEL_43;\n      }\n      v27 = sub_54D18(v27);\n      if ( (*(_BYTE *)(a1 + 60) & 0x80) != 0 )\n        goto LABEL_43;\n      v17 = atomic_load(v10);\n      if ( v17 < 0 )\n        goto LABEL_43;\n      v18 = *(_DWORD *)(a1 + 152);\n      v19 = *(_DWORD *)(v4 + 68);\n      if ( v19 >= v18 )\n        v20 = v18 + *(_DWORD *)(v3 + 396) <= v19 ? *(_DWORD *)(v3 + 396) : v19 - v18;\n      else\n        v20 = 0;\n      ((void (*)(void))sub_54D10)();\n      v21 = sub_66A00(v3, *(unsigned int *)(a1 + 152), v20, 0);\n      v9 = v21;\n      sub_54D18(v21);\n      if ( (v9 & 0xFFFFFFEF) != 0 )\n        break;\n      do\n        v22 = __ldaxr(v10);\n      while ( __stlxr(v22 | 0x10, v10) );\n      v23 = *(_DWORD *)(a1 + 152) + v20;\n      *(_DWORD *)(a1 + 152) = v23;\n      v24 = *(_DWORD *)(v4 + 68);\n      v25 = v23 >= v24;\n      v26 = v23 - v24;\n      if ( v25 )\n        *(_DWORD *)(a1 + 152) = v26;\n      *(_DWORD *)(a1 + 160) += v20;\n    }\n    v45 = *(_QWORD *)(a1 + 192);\n    if ( v45 )\n      v45 = sub_54CA8();\n    atomic_store(2u, (unsigned int *)(v3 + 272));\n    v46 = *(_QWORD *)(v3 + 264);\n    if ( v46 )\n      *(_DWORD *)(v46 + 292) = v9;\n    sub_54D20(v45);\n    do\n      v47 = __ldaxr(v10);\n    while ( __stlxr(v47 | 8, v10) );\n  }\nLABEL_18:\n  sub_51F94((__int64)&v49);\n  return v9;\n}", "assembly": "; \n; sub_5417C from 0x5417c to 0x544cc (848 bytes)\n; \n; 1 xrefs:\n; > <???> @ 0x10c348\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             SP, SP, #0x60                                          ; +0x0, 0x5417c\nSTP             X24, X23, [SP,#0x50+var_30]                            ; +0x4, 0x54180\nSTP             X22, X21, [SP,#0x50+var_20]                            ; +0x8, 0x54184\nSTP             X20, X19, [SP,#0x50+var_10]                            ; +0xc, 0x54188\nSTP             X29, X30, [SP,#0x50+var_s0]                            ; +0x10, 0x5418c\nLDR             X8, [X0,#8]                                            ; +0x14, 0x54190\nMOV             X19, X0                                                ; +0x18, 0x54194\nMOV             W9, #8                                                 ; +0x1c, 0x54198\nADD             X0, SP, #0x50+var_48                                   ; +0x20, 0x5419c\nADD             X29, SP, #0x50                                         ; +0x24, 0x541a0\nSTRB            WZR, [SP,#0x50+var_3C]                                 ; +0x28, 0x541a4\nSTR             W9, [SP,#0x50+var_40]                                  ; +0x2c, 0x541a8\nSTR             X8, [SP,#0x50+var_48]                                  ; +0x30, 0x541ac\nSTR             XZR, [SP,#0x50+var_38]                                 ; +0x34, 0x541b0\nBL              sub_520A0                                              ; +0x38, 0x541b4\nLDR             X20, [X19,#0x28]                                       ; +0x3c, 0x541b8\nCBZ             X20, loc_54260                                         ; +0x40, 0x541bc\nADD             X8, X20, #0x110                                        ; +0x44, 0x541c0\nLDR             X24, [X20,#0x180]                                      ; +0x48, 0x541c4\nLDAR            W9, [X8]                                               ; +0x4c, 0x541c8\nCBZ             W9, loc_541F8                                          ; +0x50, 0x541cc\nLDAR            W8, [X8]                                               ; +0x54, 0x541d0\nCMP             W8, #7                                                 ; +0x58, 0x541d4\nB.NE            loc_541F0                                              ; +0x5c, 0x541d8\nADD             X8, X20, #0x58 ; 'X'                                   ; +0x60, 0x541dc\nLDAXR           W9, [X8]                                               ; +0x64, 0x541e0\nORR             W9, W9, #0x400                                         ; +0x68, 0x541e4\nSTLXR           W10, W9, [X8]                                          ; +0x6c, 0x541e8\nCBNZ            W10, loc_541E0                                         ; +0x70, 0x541ec\nMOV             W21, #0x2E ; '.'                                       ; +0x74, 0x541f0\nB               loc_54264                                              ; +0x78, 0x541f4\nADD             X23, X20, #0x58 ; 'X'                                  ; +0x7c, 0x541f8\nLDAXR           W8, [X23]                                              ; +0x80, 0x541fc\nAND             W8, W8, #0xFFFFFBFF                                    ; +0x84, 0x54200\nSTLXR           W9, W8, [X23]                                          ; +0x88, 0x54204\nCBNZ            W9, loc_541FC                                          ; +0x8c, 0x54208\nLDRB            W8, [X19,#0x3C]                                        ; +0x90, 0x5420c\nTBNZ            W8, #7, loc_54260                                      ; +0x94, 0x54210\nLDR             X0, [X19,#0xC0]                                        ; +0x98, 0x54214\nCBZ             X0, loc_54248                                          ; +0x9c, 0x54218\nLDR             X8, [X0]                                               ; +0xa0, 0x5421c\nADD             X1, SP, #0x50+var_4C                                   ; +0xa4, 0x54220\nMOV             W2, WZR                                                ; +0xa8, 0x54224\nLDR             X8, [X8,#0xB8]                                         ; +0xac, 0x54228\nBLR             X8                                                     ; +0xb0, 0x5422c\nCBZ             W0, loc_5423C                                          ; +0xb4, 0x54230\nMOV             W21, W0                                                ; +0xb8, 0x54234\nB               loc_54264                                              ; +0xbc, 0x54238\nLDRB            W8, [SP,#0x50+var_4C]                                  ; +0xc0, 0x5423c\nCBNZ            W8, loc_54248                                          ; +0xc4, 0x54240\nBL              sub_54D20                                              ; +0xc8, 0x54244\nLDRB            W8, [X19,#0x88]                                        ; +0xcc, 0x54248\nCBZ             W8, loc_54288                                          ; +0xd0, 0x5424c\nLDAXR           W8, [X23]                                              ; +0xd4, 0x54250\nORR             W8, W8, #8                                             ; +0xd8, 0x54254\nSTLXR           W9, W8, [X23]                                          ; +0xdc, 0x54258\nCBNZ            W9, loc_54250                                          ; +0xe0, 0x5425c\nMOV             W21, WZR                                               ; +0xe4, 0x54260\nADD             X0, SP, #0x50+var_48                                   ; +0xe8, 0x54264\nBL              sub_51F94                                              ; +0xec, 0x54268\nMOV             W0, W21                                                ; +0xf0, 0x5426c\nLDP             X29, X30, [SP,#0x50+var_s0]                            ; +0xf4, 0x54270\nLDP             X20, X19, [SP,#0x50+var_10]                            ; +0xf8, 0x54274\nLDP             X22, X21, [SP,#0x50+var_20]                            ; +0xfc, 0x54278\nLDP             X24, X23, [SP,#0x50+var_30]                            ; +0x100, 0x5427c\nADD             SP, SP, #0x60 ; '`'                                    ; +0x104, 0x54280\nRET                                                                    ; +0x108, 0x54284\nLDR             X0, [X19,#0xC0]                                        ; +0x10c, 0x54288\nCBZ             X0, loc_54354                                          ; +0x110, 0x5428c\nLDR             X8, [X0]                                               ; +0x114, 0x54290\nLDR             X8, [X8,#0x48]                                         ; +0x118, 0x54294\nBLR             X8                                                     ; +0x11c, 0x54298\nMOV             W21, W0                                                ; +0x120, 0x5429c\nCBNZ            W0, loc_54264                                          ; +0x124, 0x542a0\nLDR             X0, [X19,#0xC0]                                        ; +0x128, 0x542a4\nADD             X1, SP, #0x50+var_38                                   ; +0x12c, 0x542a8\nLDR             X8, [X0]                                               ; +0x130, 0x542ac\nLDR             X8, [X8,#0x88]                                         ; +0x134, 0x542b0\nBLR             X8                                                     ; +0x138, 0x542b4\nMOV             W21, W0                                                ; +0x13c, 0x542b8\nCBNZ            W0, loc_54264                                          ; +0x140, 0x542bc\nB               loc_54354                                              ; +0x144, 0x542c0\nLDAR            W8, [X23]                                              ; +0x148, 0x542c4\nTBNZ            W8, #7, loc_54398                                      ; +0x14c, 0x542c8\nLDR             W8, [X19,#0x98]                                        ; +0x150, 0x542cc\nLDR             W9, [X24,#0x44]                                        ; +0x154, 0x542d0\nSUBS            W10, W9, W8                                            ; +0x158, 0x542d4\nB.CS            loc_542E4                                              ; +0x15c, 0x542d8\nMOV             W22, WZR                                               ; +0x160, 0x542dc\nB               loc_542F4                                              ; +0x164, 0x542e0\nLDR             W11, [X20,#0x18C]                                      ; +0x168, 0x542e4\nADD             W8, W8, W11                                            ; +0x16c, 0x542e8\nCMP             W8, W9                                                 ; +0x170, 0x542ec\nCSEL            W22, W10, W11, HI                                      ; +0x174, 0x542f0\nBL              sub_54D10                                              ; +0x178, 0x542f4\nLDR             W1, [X19,#0x98]                                        ; +0x17c, 0x542f8\nMOV             X0, X20                                                ; +0x180, 0x542fc\nMOV             W2, W22                                                ; +0x184, 0x54300\nMOV             X3, XZR                                                ; +0x188, 0x54304\nBL              sub_66A00                                              ; +0x18c, 0x54308\nMOV             W21, W0                                                ; +0x190, 0x5430c\nBL              sub_54D18                                              ; +0x194, 0x54310\nTST             W21, #0xFFFFFFEF                                       ; +0x198, 0x54314\nB.NE            loc_5446C                                              ; +0x19c, 0x54318\nLDAXR           W8, [X23]                                              ; +0x1a0, 0x5431c\nORR             W8, W8, #0x10                                          ; +0x1a4, 0x54320\nSTLXR           W9, W8, [X23]                                          ; +0x1a8, 0x54324\nCBNZ            W9, loc_5431C                                          ; +0x1ac, 0x54328\nLDR             W8, [X19,#0x98]                                        ; +0x1b0, 0x5432c\nADD             W8, W8, W22                                            ; +0x1b4, 0x54330\nSTR             W8, [X19,#0x98]                                        ; +0x1b8, 0x54334\nLDR             W9, [X24,#0x44]                                        ; +0x1bc, 0x54338\nSUBS            W8, W8, W9                                             ; +0x1c0, 0x5433c\nB.CC            loc_54348                                              ; +0x1c4, 0x54340\nSTR             W8, [X19,#0x98]                                        ; +0x1c8, 0x54344\nLDR             W8, [X19,#0xA0]                                        ; +0x1cc, 0x54348\nADD             W8, W8, W22                                            ; +0x1d0, 0x5434c\nSTR             W8, [X19,#0xA0]                                        ; +0x1d4, 0x54350\nBL              sub_54D10                                              ; +0x1d8, 0x54354\nLDP             W8, W9, [X19,#0x9C]                                    ; +0x1dc, 0x54358\nSUBS            W10, W8, W9                                            ; +0x1e0, 0x5435c\nB.LS            loc_54374                                              ; +0x1e4, 0x54360\nLDR             W8, [X20,#0x18C]                                       ; +0x1e8, 0x54364\nCMP             W10, W8                                                ; +0x1ec, 0x54368\nB.CS            loc_5438C                                              ; +0x1f0, 0x5436c\nB               loc_54398                                              ; +0x1f4, 0x54370\nCBZ             W8, loc_54398                                          ; +0x1f8, 0x54374\nSUBS            W8, W9, W8                                             ; +0x1fc, 0x54378\nB.LS            loc_54398                                              ; +0x200, 0x5437c\nLDR             W9, [X20,#0x18C]                                       ; +0x204, 0x54380\nCMP             W8, W9                                                 ; +0x208, 0x54384\nB.CC            loc_54398                                              ; +0x20c, 0x54388\nBL              sub_54D18                                              ; +0x210, 0x5438c\nLDRB            W8, [X19,#0x3C]                                        ; +0x214, 0x54390\nTBZ             W8, #7, loc_542C4                                      ; +0x218, 0x54394\nLDR             W8, [SP,#0x50+var_38+4]                                ; +0x21c, 0x54398\nLDR             W9, [X19,#0x94]                                        ; +0x220, 0x5439c\nSUBS            W21, W8, W9                                            ; +0x224, 0x543a0\nB.PL            loc_543B0                                              ; +0x228, 0x543a4\nLDR             W8, [X24,#0x50]                                        ; +0x22c, 0x543a8\nADD             W21, W8, W21                                           ; +0x230, 0x543ac\nBL              sub_54D18                                              ; +0x234, 0x543b0\nLDP             W9, W8, [X19,#0x58]                                    ; +0x238, 0x543b4\nLDR             W10, [X20,#0x44]                                       ; +0x23c, 0x543b8\nADD             W11, W8, W9                                            ; +0x240, 0x543bc\nCMP             W10, W11                                               ; +0x244, 0x543c0\nB.CS            loc_543D0                                              ; +0x248, 0x543c4\nSUB             W8, W10, W9                                            ; +0x24c, 0x543c8\nSTR             W8, [X19,#0x5C]                                        ; +0x250, 0x543cc\nLDR             W11, [X19,#0x38]                                       ; +0x254, 0x543d0\nBIC             W22, W21, W21,ASR#31                                   ; +0x258, 0x543d4\nTBZ             W11, #1, loc_543EC                                     ; +0x25c, 0x543d8\nLDR             W12, [X19,#0x54]                                       ; +0x260, 0x543dc\nADD             W13, W8, W9                                            ; +0x264, 0x543e0\nCMP             W12, #0                                                ; +0x268, 0x543e4\nCSEL            W10, W10, W13, EQ                                      ; +0x26c, 0x543e8\nLDR             W12, [X19,#0x4C]                                       ; +0x270, 0x543ec\nSUB             W13, W10, #1                                           ; +0x274, 0x543f0\nADD             W10, W12, W22                                          ; +0x278, 0x543f4\nCMP             W10, W13                                               ; +0x27c, 0x543f8\nSTR             W10, [X19,#0x4C]                                       ; +0x280, 0x543fc\nB.LS            loc_544AC                                              ; +0x284, 0x54400\nTBZ             W11, #1, loc_5443C                                     ; +0x288, 0x54404\nLDR             W11, [X19,#0x54]                                       ; +0x28c, 0x54408\nCBZ             W11, loc_5443C                                         ; +0x290, 0x5440c\nSUB             W9, W10, W9                                            ; +0x294, 0x54410\nCMP             W11, #1                                                ; +0x298, 0x54414\nUDIV            W9, W9, W8                                             ; +0x29c, 0x54418\nB.LT            loc_54430                                              ; +0x2a0, 0x5441c\nCMP             W9, W11                                                ; +0x2a4, 0x54420\nCSEL            W9, W9, W11, CC                                        ; +0x2a8, 0x54424\nSUB             W11, W11, W9                                           ; +0x2ac, 0x54428\nSTR             W11, [X19,#0x54]                                       ; +0x2b0, 0x5442c\nMSUB            W8, W9, W8, W10                                        ; +0x2b4, 0x54430\nSTR             W8, [X19,#0x4C]                                        ; +0x2b8, 0x54434\nB               loc_544AC                                              ; +0x2bc, 0x54438\nLDR             W8, [X20,#0x44]                                        ; +0x2c0, 0x5443c\nCMN             W8, #1                                                 ; +0x2c4, 0x54440\nB.EQ            loc_544A8                                              ; +0x2c8, 0x54444\nLDAR            W8, [X23]                                              ; +0x2cc, 0x54448\nTBZ             W8, #3, loc_544AC                                      ; +0x2d0, 0x5444c\nLDR             W8, [X20,#0x44]                                        ; +0x2d4, 0x54450\nLDR             X0, [X19,#0xC0]                                        ; +0x2d8, 0x54454\nSTP             WZR, W8, [X19,#0x48]                                   ; +0x2dc, 0x54458\nCBZ             X0, loc_54464                                          ; +0x2e0, 0x5445c\nBL              sub_54CA8                                              ; +0x2e4, 0x54460\nBL              sub_54D20                                              ; +0x2e8, 0x54464\nB               loc_544AC                                              ; +0x2ec, 0x54468\nLDR             X0, [X19,#0xC0]                                        ; +0x2f0, 0x5446c\nCBZ             X0, loc_54478                                          ; +0x2f4, 0x54470\nBL              sub_54CA8                                              ; +0x2f8, 0x54474\nADD             X8, X20, #0x110                                        ; +0x2fc, 0x54478\nMOV             W9, #2                                                 ; +0x300, 0x5447c\nSTLR            W9, [X8]                                               ; +0x304, 0x54480\nLDR             X8, [X20,#0x108]                                       ; +0x308, 0x54484\nCBZ             X8, loc_54490                                          ; +0x30c, 0x54488\nSTR             W21, [X8,#0x124]                                       ; +0x310, 0x5448c\nBL              sub_54D20                                              ; +0x314, 0x54490\nLDAXR           W8, [X23]                                              ; +0x318, 0x54494\nORR             W8, W8, #8                                             ; +0x31c, 0x54498\nSTLXR           W9, W8, [X23]                                          ; +0x320, 0x5449c\nCBNZ            W9, loc_54494                                          ; +0x324, 0x544a0\nB               loc_54264                                              ; +0x328, 0x544a4\nSTR             XZR, [X19,#0x48]                                       ; +0x32c, 0x544a8\nBL              sub_54D10                                              ; +0x330, 0x544ac\nLDR             W8, [X19,#0x9C]                                        ; +0x334, 0x544b0\nMOV             W21, WZR                                               ; +0x338, 0x544b4\nADD             W8, W8, W22                                            ; +0x33c, 0x544b8\nSTR             W8, [X19,#0x9C]                                        ; +0x340, 0x544bc\nLDR             X8, [SP,#0x50+var_38]                                  ; +0x344, 0x544c0\nSTR             X8, [X19,#0x90]                                        ; +0x348, 0x544c4\nB               loc_54264                                              ; +0x34c, 0x544c8", "xrefs": ["<???> @ 0x10c348"], "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"}