{"name": "esPerspective", "code": "__int64 __fastcall esPerspective ( __int64 @@a1@@ , float @@a2@@ , float @@a3@@ , float @@a4@@ , float @@a5@@ ) { float v5 ; v5 = tanf ( Number * ( float ) ( @@a2@@ / Number ) ) ; return esFrustum ( @@a1@@ , - ( float ) ( ( float ) ( v5 * @@a4@@ ) * @@a3@@ ) , ( float ) ( v5 * @@a4@@ ) * @@a3@@ , - ( float ) ( v5 * @@a4@@ ) , v5 * @@a4@@ , @@a4@@ , @@a5@@ ) ; }", "source": [{"n": "a2", "t": {"T": 1, "n": "float", "s": 4}, "location": "r496"}, {"n": "a3", "t": {"T": 1, "n": "float", "s": 4}, "location": "r512"}, {"n": "a4", "t": {"T": 1, "n": "float", "s": 4}, "location": "r528"}, {"n": "a5", "t": {"T": 1, "n": "float", "s": 4}, "location": "r544"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]}
{"name": "esFrustum", "code": "__int64 __fastcall esFrustum ( __int64 @@a1@@ , float @@a2@@ , float @@a3@@ , float @@a4@@ , float @@a5@@ , float @@a6@@ , float @@a7@@ ) { __int64 @@result@@ ; int @@v8@@ [ Number ] ; float @@v9@@ ; float @@v10@@ ; float @@v11@@ ; @@v11@@ = @@a3@@ - @@a2@@ ; @@v10@@ = @@a5@@ - @@a4@@ ; @@v9@@ = @@a7@@ - @@a6@@ ; if ( @@a6@@ > Number && @@a7@@ > Number && @@v11@@ > Number && @@v10@@ > Number && @@v9@@ > Number ) { * ( float * ) @@v8@@ = ( float ) ( @@a6@@ + @@a6@@ ) / @@v11@@ ; @@v8@@ [ Number ] = Number ; @@v8@@ [ Number ] = Number ; @@v8@@ [ Number ] = Number ; * ( float * ) & @@v8@@ [ Number ] = ( float ) ( @@a6@@ + @@a6@@ ) / @@v10@@ ; @@v8@@ [ Number ] = Number ; @@v8@@ [ Number ] = Number ; @@v8@@ [ Number ] = Number ; * ( float * ) & @@v8@@ [ Number ] = ( float ) ( @@a3@@ + @@a2@@ ) / @@v11@@ ; * ( float * ) & @@v8@@ [ Number ] = ( float ) ( @@a5@@ + @@a4@@ ) / @@v10@@ ; * ( float * ) & @@v8@@ [ Number ] = ( float ) - ( float ) ( @@a6@@ + @@a7@@ ) / @@v9@@ ; @@v8@@ [ Number ] = Number ; * ( float * ) & @@v8@@ [ Number ] = ( float ) ( ( float ) ( Number * @@a6@@ ) * @@a7@@ ) / @@v9@@ ; @@v8@@ [ Number ] = Number ; @@v8@@ [ Number ] = Number ; @@v8@@ [ Number ] = Number ; @@result@@ = esMatrixMultiply ( @@a1@@ , @@v8@@ , @@a1@@ ) ; } return @@result@@ ; }", "source": [{"n": "a2", "t": {"T": 1, "n": "float", "s": 4}, "location": "r496"}, {"n": "a3", "t": {"T": 1, "n": "float", "s": 4}, "location": "r512"}, {"n": "a4", "t": {"T": 1, "n": "float", "s": 4}, "location": "r528"}, {"n": "a5", "t": {"T": 1, "n": "float", "s": 4}, "location": "r544"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a6", "t": {"T": 1, "n": "float", "s": 4}, "location": "r560"}, {"n": "a7", "t": {"T": 1, "n": "float", "s": 4}, "location": "r576"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v9", "t": {"T": 1, "n": "float", "s": 4}, "location": "s12"}, {"n": "v11", "t": {"T": 1, "n": "float", "s": 4}, "location": "s4"}, {"n": "v10", "t": {"T": 1, "n": "float", "s": 4}, "location": "s8"}, {"n": "v8", "t": {"T": 2, "n": 17, "s": 4, "t": "int"}, "location": "s80"}]}