{"type": "func", "start": 382204, "end": 382388, "name": "sub_5D4FC", "pseudocode": "// \n// sub_5D4FC from 0x5d4fc to 0x5d5b4 (184 bytes)\n// \n// 3 xrefs:\n// > sub_5D92C @ 0x5d990\n// > sub_5E394 @ 0x5e560\n// > sub_5E678 @ 0x5e70c\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\nfloat __fastcall sub_5D4FC(float *a1)\n{\n  float v1; // s0\n  float v2; // s1\n  float v3; // s2\n  float v4; // s3\n  float v5; // s4\n  float v6; // s5\n  float v7; // s6\n  float v8; // s7\n  float v9; // s16\n  float v10; // s21\n  float v11; // s22\n  float v12; // s3\n  float v13; // s6\n  float v14; // s19\n  float v15; // s20\n  float v16; // s18\n  float result; // s0\n\n  v1 = a1[31];\n  v2 = a1[32];\n  v3 = a1[38];\n  v4 = a1[39];\n  v5 = a1[33];\n  v6 = a1[34];\n  v7 = a1[40];\n  v8 = a1[29];\n  v9 = a1[30];\n  a1[45] = v4 * v2;\n  a1[46] = v5 * v4;\n  v10 = v7 * v8;\n  v11 = v9 * v7;\n  a1[47] = v6 * v4;\n  a1[51] = v1 * v7;\n  v12 = 1.0 / v4;\n  v13 = 1.0 / v7;\n  v14 = -(float)((float)(v9 * v6) - (float)(v1 * v5));\n  v15 = -(float)((float)(v1 * v2) - (float)(v8 * v6));\n  v16 = -(float)((float)(v8 * v5) - (float)(v9 * v2));\n  result = v1 * v13;\n  a1[54] = v2 * v12;\n  a1[55] = v8 * v13;\n  a1[58] = v5 * v12;\n  a1[59] = v9 * v13;\n  a1[49] = v10;\n  a1[50] = v11;\n  a1[41] = v14 * v3;\n  a1[42] = v15 * v3;\n  a1[43] = v3 * v16;\n  a1[53] = v14 * (float)(1.0 / v3);\n  a1[57] = v15 * (float)(1.0 / v3);\n  a1[61] = v16 * (float)(1.0 / v3);\n  a1[62] = v6 * v12;\n  a1[63] = result;\n  return result;\n}", "assembly": "; \n; sub_5D4FC from 0x5d4fc to 0x5d5b4 (184 bytes)\n; \n; 3 xrefs:\n; > sub_5D92C @ 0x5d990\n; > sub_5E394 @ 0x5e560\n; > sub_5E678 @ 0x5e70c\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\nLDP             S0, S1, [X0,#0x7C]                                     ; +0x0, 0x5d4fc\nLDP             S2, S3, [X0,#0x98]                                     ; +0x4, 0x5d500\nLDP             S4, S5, [X0,#0x84]                                     ; +0x8, 0x5d504\nLDR             S6, [X0,#0xA0]                                         ; +0xc, 0x5d508\nLDP             S7, S16, [X0,#0x74]                                    ; +0x10, 0x5d50c\nFMUL            S18, S3, S1                                            ; +0x14, 0x5d510\nFMUL            S19, S4, S3                                            ; +0x18, 0x5d514\nFMOV            S17, #1.0                                              ; +0x1c, 0x5d518\nFMUL            S20, S5, S3                                            ; +0x20, 0x5d51c\nSTP             S18, S19, [X0,#0xB4]                                   ; +0x24, 0x5d520\nFMUL            S18, S0, S6                                            ; +0x28, 0x5d524\nFMUL            S21, S6, S7                                            ; +0x2c, 0x5d528\nFMUL            S22, S16, S6                                           ; +0x30, 0x5d52c\nSTR             S20, [X0,#0xBC]                                        ; +0x34, 0x5d530\nFMUL            S19, S16, S5                                           ; +0x38, 0x5d534\nFMUL            S20, S0, S1                                            ; +0x3c, 0x5d538\nSTR             S18, [X0,#0xCC]                                        ; +0x40, 0x5d53c\nFMUL            S18, S7, S4                                            ; +0x44, 0x5d540\nFDIV            S3, S17, S3                                            ; +0x48, 0x5d544\nFDIV            S6, S17, S6                                            ; +0x4c, 0x5d548\nFDIV            S17, S17, S2                                           ; +0x50, 0x5d54c\nFNMSUB          S19, S0, S4, S19                                       ; +0x54, 0x5d550\nFNMSUB          S20, S7, S5, S20                                       ; +0x58, 0x5d554\nFNMSUB          S18, S16, S1, S18                                      ; +0x5c, 0x5d558\nFMUL            S1, S1, S3                                             ; +0x60, 0x5d55c\nFMUL            S4, S4, S3                                             ; +0x64, 0x5d560\nFMUL            S3, S5, S3                                             ; +0x68, 0x5d564\nFMUL            S5, S7, S6                                             ; +0x6c, 0x5d568\nFMUL            S7, S16, S6                                            ; +0x70, 0x5d56c\nFMUL            S0, S0, S6                                             ; +0x74, 0x5d570\nFMUL            S6, S19, S2                                            ; +0x78, 0x5d574\nFMUL            S16, S20, S2                                           ; +0x7c, 0x5d578\nFMUL            S2, S2, S18                                            ; +0x80, 0x5d57c\nSTP             S1, S5, [X0,#0xD8]                                     ; +0x84, 0x5d580\nSTP             S4, S7, [X0,#0xE8]                                     ; +0x88, 0x5d584\nFMUL            S5, S19, S17                                           ; +0x8c, 0x5d588\nFMUL            S7, S20, S17                                           ; +0x90, 0x5d58c\nFMUL            S17, S18, S17                                          ; +0x94, 0x5d590\nSTP             S21, S22, [X0,#0xC4]                                   ; +0x98, 0x5d594\nSTP             S6, S16, [X0,#0xA4]                                    ; +0x9c, 0x5d598\nSTR             S2, [X0,#0xAC]                                         ; +0xa0, 0x5d59c\nSTR             S5, [X0,#0xD4]                                         ; +0xa4, 0x5d5a0\nSTR             S7, [X0,#0xE4]                                         ; +0xa8, 0x5d5a4\nSTP             S17, S3, [X0,#0xF4]                                    ; +0xac, 0x5d5a8\nSTR             S0, [X0,#0xFC]                                         ; +0xb0, 0x5d5ac\nRET                                                                    ; +0xb4, 0x5d5b0", "xrefs": ["sub_5D92C @ 0x5d990", "sub_5E394 @ 0x5e560", "sub_5E678 @ 0x5e70c"], "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"}