{"type": "func", "start": 1072372, "end": 1072432, "name": "DSP_Saturate", "pseudocode": "// \n// DSP_Saturate from 0x105cf4 to 0x105d30 (60 bytes)\n// \n// 4 xrefs:\n// > .DSP_Saturate @ 0x109e7c\n// > <???> @ 0x4120\n// > .DSP_Saturate @ 0x109e74\n// > <???> @ 0x111800\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 DSP_Saturate(float *a1)\n{\n  if ( *a1 >= 0.99997 )\n  {\n    *a1 = 0.99997;\n    return 4294967293LL;\n  }\n  else if ( *a1 <= -1.0 )\n  {\n    *a1 = -1.0;\n    return 4294967292LL;\n  }\n  else\n  {\n    return 0;\n  }\n}", "assembly": "; \n; DSP_Saturate from 0x105cf4 to 0x105d30 (60 bytes)\n; \n; 4 xrefs:\n; > .DSP_Saturate @ 0x109e7c\n; > <???> @ 0x4120\n; > .DSP_Saturate @ 0x109e74\n; > <???> @ 0x111800\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             S1, =0x3F7FFE00                                        ; +0x0, 0x105cf4\nLDR             S0, [X0]                                               ; +0x4, 0x105cf8\nFCMPE           S0, S1                                                 ; +0x8, 0x105cfc\nB.GE            loc_105D18                                             ; +0xc, 0x105d00\nFMOV            S1, #-1.0                                              ; +0x10, 0x105d04\nFCMPE           S0, S1                                                 ; +0x14, 0x105d08\nB.LS            loc_105D24                                             ; +0x18, 0x105d0c\nMOV             W0, #0                                                 ; +0x1c, 0x105d10\nRET                                                                    ; +0x20, 0x105d14\nSTR             S1, [X0]                                               ; +0x24, 0x105d18\nMOV             W0, #0xFFFFFFFD                                        ; +0x28, 0x105d1c\nRET                                                                    ; +0x2c, 0x105d20\nSTR             S1, [X0]                                               ; +0x30, 0x105d24\nMOV             W0, #0xFFFFFFFC                                        ; +0x34, 0x105d28\nRET                                                                    ; +0x38, 0x105d2c", "xrefs": [".DSP_Saturate @ 0x109e7c", "<???> @ 0x4120", ".DSP_Saturate @ 0x109e74", "<???> @ 0x111800"], "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"}