{"type": "func", "start": 340116, "end": 340420, "name": "sub_53094", "pseudocode": "// \n// sub_53094 from 0x53094 to 0x531c4 (304 bytes)\n// \n// 1 xrefs:\n// > <???> @ 0x10c258\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\nvoid __fastcall sub_53094(__int64 a1)\n{\n  __int64 v2; // x20\n  __int64 v3; // x21\n  __int64 v4; // x0\n  __int64 v5; // x0\n  __int64 v6; // x0\n\n  if ( (*(_BYTE *)(a1 + 62) & 1) == 0 && *(_QWORD *)(a1 + 768) )\n  {\n    v2 = 336;\n    v3 = 73664;\n    while ( v2 != 368 )\n    {\n      v4 = *(_QWORD *)(*(_QWORD *)(a1 + 8) + v3);\n      if ( v4 )\n        sub_CB928(v4, *(_QWORD *)(a1 + 768), *(_QWORD *)(*(_QWORD *)(a1 + 24) + v2), 4);\n      v3 += 24;\n      *(_QWORD *)(*(_QWORD *)(a1 + 24) + v2) = 0;\n      v2 += 8;\n    }\n    *(_QWORD *)(a1 + 768) = 0;\n  }\n  if ( *(_QWORD *)(a1 + 744) )\n  {\n    sub_53DC4();\n    sub_53D7C(*(_QWORD *)(a1 + 744));\n    sub_53E48(*(_QWORD *)(a1 + 744));\n    sub_531C4(*(_QWORD *)(a1 + 744));\n    *(_QWORD *)(a1 + 744) = 0;\n    *(_DWORD *)(a1 + 100) = 1232348160;\n    *(_DWORD *)(a1 + 104) = 1120403456;\n  }\n  if ( *(_QWORD *)(a1 + 736) )\n  {\n    sub_53DC4();\n    sub_53D7C(*(_QWORD *)(a1 + 736));\n    sub_53DA0(*(_QWORD *)(a1 + 736));\n    *(_QWORD *)(a1 + 736) = 0;\n  }\n  if ( *(_QWORD *)(a1 + 664) )\n  {\n    v5 = sub_C7478(a1 + 112, 1, 0, 0);\n    sub_53E14(v5);\n    sub_CBB14(a1 + 112, 0, 1);\n  }\n  v6 = *(_QWORD *)(a1 + 48);\n  if ( v6 )\n  {\n    sub_53D7C(v6);\n    sub_53E48(*(_QWORD *)(a1 + 48));\n  }\n  JUMPOUT(0x5253C);\n}", "assembly": "; \n; sub_53094 from 0x53094 to 0x531c4 (304 bytes)\n; \n; 1 xrefs:\n; > <???> @ 0x10c258\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\nSTR             X21, [SP,#-0x10+var_20]!                               ; +0x0, 0x53094\nSTP             X20, X19, [SP,#0x20+var_10]                            ; +0x4, 0x53098\nSTP             X29, X30, [SP,#0x20+var_s0]                            ; +0x8, 0x5309c\nLDRB            W8, [X0,#0x3E]                                         ; +0xc, 0x530a0\nMOV             X19, X0                                                ; +0x10, 0x530a4\nADD             X29, SP, #0x20                                         ; +0x14, 0x530a8\nTBNZ            W8, #0, loc_53104                                      ; +0x18, 0x530ac\nLDR             X8, [X19,#0x300]                                       ; +0x1c, 0x530b0\nCBZ             X8, loc_53104                                          ; +0x20, 0x530b4\nMOV             W21, #0x1FC0                                           ; +0x24, 0x530b8\nMOV             W20, #0x150                                            ; +0x28, 0x530bc\nMOVK            W21, #1,LSL#16                                         ; +0x2c, 0x530c0\nCMP             X20, #0x170                                            ; +0x30, 0x530c4\nB.EQ            loc_53100                                              ; +0x34, 0x530c8\nLDR             X8, [X19,#8]                                           ; +0x38, 0x530cc\nLDR             X0, [X8,X21]                                           ; +0x3c, 0x530d0\nCBZ             X0, loc_530EC                                          ; +0x40, 0x530d4\nLDR             X8, [X19,#0x18]                                        ; +0x44, 0x530d8\nLDR             X1, [X19,#0x300]                                       ; +0x48, 0x530dc\nMOV             W3, #4                                                 ; +0x4c, 0x530e0\nLDR             X2, [X8,X20]                                           ; +0x50, 0x530e4\nBL              sub_CB928                                              ; +0x54, 0x530e8\nLDR             X8, [X19,#0x18]                                        ; +0x58, 0x530ec\nADD             X21, X21, #0x18                                        ; +0x5c, 0x530f0\nSTR             XZR, [X8,X20]                                          ; +0x60, 0x530f4\nADD             X20, X20, #8                                           ; +0x64, 0x530f8\nB               loc_530C4                                              ; +0x68, 0x530fc\nSTR             XZR, [X19,#0x300]                                      ; +0x6c, 0x53100\nLDR             X0, [X19,#0x2E8]                                       ; +0x70, 0x53104\nCBZ             X0, loc_53148                                          ; +0x74, 0x53108\nBL              sub_53DC4                                              ; +0x78, 0x5310c\nLDR             X0, [X19,#0x2E8]                                       ; +0x7c, 0x53110\nBL              sub_53D7C                                              ; +0x80, 0x53114\nLDR             X0, [X19,#0x2E8]                                       ; +0x84, 0x53118\nBL              sub_53E48                                              ; +0x88, 0x5311c\nLDR             X0, [X19,#0x2E8]                                       ; +0x8c, 0x53120\nBL              sub_531C4                                              ; +0x90, 0x53124\nADRP            X8, #off_10F7D0@PAGE                                   ; +0x94, 0x53128\nADRP            X9, #off_10F7C8@PAGE                                   ; +0x98, 0x5312c\nLDR             X8, [X8,#off_10F7D0@PAGEOFF]; dword_2EED8              ; +0x9c, 0x53130\nLDR             X9, [X9,#off_10F7C8@PAGEOFF]; dword_2EEDC              ; +0xa0, 0x53134\nLDR             W8, [X8]                                               ; +0xa4, 0x53138\nLDR             W9, [X9]                                               ; +0xa8, 0x5313c\nSTR             XZR, [X19,#0x2E8]                                      ; +0xac, 0x53140\nSTP             W9, W8, [X19,#0x64]                                    ; +0xb0, 0x53144\nLDR             X0, [X19,#0x2E0]                                       ; +0xb4, 0x53148\nCBZ             X0, loc_53168                                          ; +0xb8, 0x5314c\nBL              sub_53DC4                                              ; +0xbc, 0x53150\nLDR             X0, [X19,#0x2E0]                                       ; +0xc0, 0x53154\nBL              sub_53D7C                                              ; +0xc4, 0x53158\nLDR             X0, [X19,#0x2E0]                                       ; +0xc8, 0x5315c\nBL              sub_53DA0                                              ; +0xcc, 0x53160\nSTR             XZR, [X19,#0x2E0]                                      ; +0xd0, 0x53164\nLDR             X8, [X19,#0x298]                                       ; +0xd4, 0x53168\nCBZ             X8, loc_5319C                                          ; +0xd8, 0x5316c\nADD             X20, X19, #0x70 ; 'p'                                  ; +0xdc, 0x53170\nMOV             W1, #1                                                 ; +0xe0, 0x53174\nMOV             X0, X20                                                ; +0xe4, 0x53178\nMOV             W2, WZR                                                ; +0xe8, 0x5317c\nMOV             W3, WZR                                                ; +0xec, 0x53180\nBL              sub_C7478                                              ; +0xf0, 0x53184\nBL              sub_53E14                                              ; +0xf4, 0x53188\nMOV             W2, #1                                                 ; +0xf8, 0x5318c\nMOV             X0, X20                                                ; +0xfc, 0x53190\nMOV             W1, WZR                                                ; +0x100, 0x53194\nBL              sub_CBB14                                              ; +0x104, 0x53198\nLDR             X0, [X19,#0x30]                                        ; +0x108, 0x5319c\nCBZ             X0, loc_531B0                                          ; +0x10c, 0x531a0\nBL              sub_53D7C                                              ; +0x110, 0x531a4\nLDR             X0, [X19,#0x30]                                        ; +0x114, 0x531a8\nBL              sub_53E48                                              ; +0x118, 0x531ac\nMOV             X0, X19                                                ; +0x11c, 0x531b0\nLDP             X29, X30, [SP,#0x20+var_s0]                            ; +0x120, 0x531b4\nLDP             X20, X19, [SP,#0x20+var_10]                            ; +0x124, 0x531b8\nLDR             X21, [SP+0x20+var_20],#0x30                            ; +0x128, 0x531bc\nB               loc_5253C                                              ; +0x12c, 0x531c0", "xrefs": ["<???> @ 0x10c258"], "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"}