{"type": "func", "start": 380688, "end": 380804, "name": "sub_5CF10", "pseudocode": "// \n// sub_5CF10 from 0x5cf10 to 0x5cf84 (116 bytes)\n// \n// 1 xrefs:\n// > sub_5CE24 @ 0x5ce58\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_QWORD *__fastcall sub_5CF10(_QWORD *a1)\n{\n  _QWORD *v2; // x19\n  _QWORD *v3; // x9\n  __int64 v5; // [xsp+0h] [xbp-20h] BYREF\n  char v6; // [xsp+8h] [xbp-18h]\n\n  v5 = a1[46];\n  FMOD_OS_CriticalSection_Enter(v5);\n  v6 = 1;\n  v2 = (_QWORD *)a1[43];\n  if ( v2 == a1 + 43 && (_QWORD *)a1[44] == a1 + 43 )\n  {\n    v2 = nullptr;\n  }\n  else\n  {\n    v3 = (_QWORD *)v2[1];\n    *v3 = *v2;\n    *(_QWORD *)(*v2 + 8LL) = v3;\n    *v2 = v2;\n    v2[1] = v2;\n  }\n  sub_52090((__int64)&v5);\n  return v2;\n}", "assembly": "; \n; sub_5CF10 from 0x5cf10 to 0x5cf84 (116 bytes)\n; \n; 1 xrefs:\n; > sub_5CE24 @ 0x5ce58\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, #0x30                                          ; +0x0, 0x5cf10\nSTP             X20, X19, [SP,#0x20+var_10]                            ; +0x4, 0x5cf14\nSTP             X29, X30, [SP,#0x20+var_s0]                            ; +0x8, 0x5cf18\nMOV             X20, X0                                                ; +0xc, 0x5cf1c\nLDR             X0, [X0,#0x170]                                        ; +0x10, 0x5cf20\nADD             X29, SP, #0x20                                         ; +0x14, 0x5cf24\nSTR             X0, [SP,#0x20+var_20]                                  ; +0x18, 0x5cf28\nBL              .FMOD_OS_CriticalSection_Enter                         ; +0x1c, 0x5cf2c\nMOV             W8, #1                                                 ; +0x20, 0x5cf30\nSTRB            W8, [SP,#0x20+var_18]                                  ; +0x24, 0x5cf34\nLDR             X19, [X20,#0x158]                                      ; +0x28, 0x5cf38\nADD             X8, X20, #0x158                                        ; +0x2c, 0x5cf3c\nCMP             X19, X8                                                ; +0x30, 0x5cf40\nB.NE            loc_5CF54                                              ; +0x34, 0x5cf44\nLDR             X9, [X20,#0x160]                                       ; +0x38, 0x5cf48\nCMP             X9, X8                                                 ; +0x3c, 0x5cf4c\nB.EQ            loc_5CF7C                                              ; +0x40, 0x5cf50\nLDP             X8, X9, [X19]                                          ; +0x44, 0x5cf54\nSTR             X8, [X9]                                               ; +0x48, 0x5cf58\nLDR             X8, [X19]                                              ; +0x4c, 0x5cf5c\nSTR             X9, [X8,#8]                                            ; +0x50, 0x5cf60\nSTP             X19, X19, [X19]                                        ; +0x54, 0x5cf64\nMOV             X0, SP                                                 ; +0x58, 0x5cf68\nBL              sub_52090                                              ; +0x5c, 0x5cf6c\nMOV             X0, X19                                                ; +0x60, 0x5cf70\nLDP             X29, X30, [SP,#0x20+var_s0]                            ; +0x64, 0x5cf74\nB               loc_5D4D4                                              ; +0x68, 0x5cf78\nMOV             X19, XZR                                               ; +0x6c, 0x5cf7c\nB               loc_5CF68                                              ; +0x70, 0x5cf80", "xrefs": ["sub_5CE24 @ 0x5ce58"], "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"}