{"type": "func", "start": 362332, "end": 362412, "name": "sub_5875C", "pseudocode": "// \n// sub_5875C from 0x5875c to 0x587ac (80 bytes)\n// \n// 2 xrefs:\n// > sub_57CC0 @ 0x57d50\n// > sub_58C3C @ 0x58ca0\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_5875C(__int64 a1, int a2, long double a3)\n{\n  __int64 v4; // x0\n  __int64 result; // x0\n\n  v4 = *(_QWORD *)(a1 + 8LL * a2 + 336);\n  if ( !v4 )\n    return 0;\n  *(float *)&a3 = *(float *)(*(_QWORD *)(a1 + 32) + 492LL) * *(float *)(a1 + 4LL * a2 + 316);\n  result = sub_AC5A0(v4, 64, 1, 0, a3);\n  if ( !(_DWORD)result )\n    return 0;\n  return result;\n}", "assembly": "; \n; sub_5875C from 0x5875c to 0x587ac (80 bytes)\n; \n; 2 xrefs:\n; > sub_57CC0 @ 0x57d50\n; > sub_58C3C @ 0x58ca0\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\nSTP             X29, X30, [SP,#-0x10+var_s0]!                          ; +0x0, 0x5875c\nADD             X9, X0, W1,SXTW#3                                      ; +0x4, 0x58760\nMOV             X8, X0                                                 ; +0x8, 0x58764\nLDR             X0, [X9,#0x150]                                        ; +0xc, 0x58768\nMOV             X29, SP                                                ; +0x10, 0x5876c\nCBZ             X0, loc_587A0                                          ; +0x14, 0x58770\nLDR             X9, [X8,#0x20]                                         ; +0x18, 0x58774\nSXTW            X10, W1                                                ; +0x1c, 0x58778\nADD             X8, X8, X10,LSL#2                                      ; +0x20, 0x5877c\nLDR             S0, [X8,#0x13C]                                        ; +0x24, 0x58780\nLDR             S1, [X9,#0x1EC]                                        ; +0x28, 0x58784\nMOV             W1, #0x40 ; '@'                                        ; +0x2c, 0x58788\nMOV             W2, #1                                                 ; +0x30, 0x5878c\nMOV             W3, WZR                                                ; +0x34, 0x58790\nFMUL            S0, S1, S0                                             ; +0x38, 0x58794\nBL              sub_AC5A0                                              ; +0x3c, 0x58798\nCBNZ            W0, loc_587A4                                          ; +0x40, 0x5879c\nMOV             W0, WZR                                                ; +0x44, 0x587a0\nLDP             X29, X30, [SP+var_s0],#0x10                            ; +0x48, 0x587a4\nRET                                                                    ; +0x4c, 0x587a8", "xrefs": ["sub_57CC0 @ 0x57d50", "sub_58C3C @ 0x58ca0"], "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"}