{"name": "_ZN12_GLOBAL__N_127lower_clip_distance_visitor13handle_rvalueEPP9ir_rvalue", "code": "void __fastcall ` anonymous namespace ' lower_clip_distance_visitor handle_rvalue ( __int64 @@a1@@ , __int64 * @@a2@@ ) { __int64 @@v2@@ ; __int64 v3 ; __int64 v4 ; __int64 v6 ; __int64 @@v7@@ ; __int64 v8 ; __int64 v9 ; __int64 v10 ; _QWORD * v11 ; __int64 v12 ; __int64 v13 ; ir_constant * v14 ; int v15 ; ir_constant * v16 ; ir_constant * v17 ; __int64 v18 ; __int64 v19 ; __int64 @@v20@@ ; __int64 v21 ; __int64 v22 ; __int64 @@v23@@ ; __int64 @@v24@@ ; ir_constant * v25 ; __int64 v26 ; __int64 v27 ; __int64 v28 ; __int64 v29 ; __int64 v30 ; ir_constant * v31 ; __int64 v32 ; __int64 @@v33@@ ; @@v2@@ = * @@a2@@ ; if ( * @@a2@@ && ! * ( _DWORD * ) ( @@v2@@ + Number ) ) { v3 = * ( _QWORD * ) ( @@a1@@ + Number ) ; v4 = * ( _QWORD * ) ( @@v2@@ + Number ) ; if ( v3 && * ( _DWORD * ) ( v4 + Number ) == Number && v4 && v3 == * ( _QWORD * ) ( v4 + Number ) ) { v6 = ralloc_parent ( * ( _QWORD * ) ( @@v2@@ + Number ) ) ; @@v7@@ = ralloc_size ( v6 , Number L ) ; ir_dereference_variable ir_dereference_variable ( @@v7@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; } else { v8 = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( ! v8 ) return ; if ( * ( _DWORD * ) ( v4 + Number ) ) return ; if ( ! v4 ) return ; v9 = * ( _QWORD * ) ( v4 + Number ) ; if ( * ( _DWORD * ) ( v9 + Number ) != Number || ! v9 || v8 != * ( _QWORD * ) ( v9 + Number ) ) return ; v10 = ralloc_parent ( * ( _QWORD * ) ( @@v2@@ + Number ) ) ; @@v7@@ = ralloc_size ( v10 , Number L ) ; ir_dereference_array ir_dereference_array ( @@v7@@ , * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( v4 + Number ) ) ; } if ( @@v7@@ ) { v11 = * ( _QWORD * * ) ( @@v2@@ + Number ) ; * ( _BYTE * ) ( @@a1@@ + Number ) = Number ; v12 = ralloc_parent ( v11 ) ; if ( v11 [ Number ] != glsl_type int_type ) { v13 = ralloc_size ( v12 , Number L ) ; ir_expression ir_expression ( v13 , Number L , v11 ) ; v11 = ( _QWORD * ) v13 ; } v14 = ( ir_constant * ) ( * ( __int64 ( __fastcall * * ) ( _QWORD * , _QWORD ) ) ( * v11 + Number L ) ) ( v11 , Number L ) ; if ( v14 ) { v15 = ir_constant get_int_component ( v14 , Number ) ; v16 = ( ir_constant * ) ralloc_size ( v12 , Number L ) ; ir_constant ir_constant ( v16 , v15 / Number , Number ) ; v17 = ( ir_constant * ) ralloc_size ( v12 , Number L ) ; ir_constant ir_constant ( v17 , v15 % Number , Number ) ; } else { v18 = ralloc_size ( v12 , Number L ) ; ir_variable ir_variable ( v18 , glsl_type int_type , String , Number L , Number L ) ; v19 = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v20@@ = v19 + Number ; if ( ! v18 ) goto LABEL_24 ; v21 = * ( _QWORD * ) ( v19 + Number ) ; * ( _QWORD * ) ( v18 + Number ) = @@v20@@ ; * ( _QWORD * ) ( v18 + Number ) = v21 ; * * ( _QWORD * * ) ( v19 + Number ) = v18 + Number ; * ( _QWORD * ) ( v19 + Number ) = v18 + Number ; v29 = ralloc_size ( v12 , Number L ) ; ir_dereference_variable ir_dereference_variable ( v29 , v18 ) ; v22 = ralloc_size ( v12 , Number L ) ; @@v23@@ = v29 ; v30 = v22 ; ir_assignment ir_assignment ( v22 , @@v23@@ , v11 , Number L ) ; @@v20@@ = v19 + Number ; if ( ! v30 ) { LABEL_24 : unk_0 = @@v20@@ ; BUG ( ) ; } @@v24@@ = * ( _QWORD * ) ( v19 + Number ) ; * ( _QWORD * ) ( v30 + Number ) = v19 + Number ; * ( _QWORD * ) ( v30 + Number ) = @@v24@@ ; * * ( _QWORD * * ) ( v19 + Number ) = v30 + Number ; * ( _QWORD * ) ( v19 + Number ) = v30 + Number ; @@v33@@ = ralloc_size ( v12 , Number L ) ; ir_dereference_variable ir_dereference_variable ( @@v33@@ , v18 ) ; v31 = ( ir_constant * ) ralloc_size ( v12 , Number L ) ; ir_constant ir_constant ( v31 , Number , Number ) ; v16 = ( ir_constant * ) ralloc_size ( v12 , Number L ) ; ir_expression ir_expression ( v16 , Number L , @@v33@@ , v31 ) ; v32 = ralloc_size ( v12 , Number L ) ; ir_dereference_variable ir_dereference_variable ( v32 , v18 ) ; v25 = ( ir_constant * ) ralloc_size ( v12 , Number L ) ; ir_constant ir_constant ( v25 , Number , Number ) ; v17 = ( ir_constant * ) ralloc_size ( v12 , Number L ) ; ir_expression ir_expression ( v17 , Number L , v32 , v25 ) ; } v26 = ralloc_parent ( @@v2@@ ) ; v27 = ralloc_size ( v26 , Number L ) ; ir_dereference_array ir_dereference_array ( v27 , @@v7@@ , v16 ) ; v28 = ralloc_size ( v26 , Number L ) ; ir_expression ir_expression ( v28 , Number L , v27 , v17 ) ; * @@a2@@ = v28 ; } } }", "source": [{"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r112"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r128"}, {"n": "v24", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__int64"}, "location": "r64"}, {"n": "v20", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "v23", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "v33", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s64"}]}